Хелпикс

Главная

Контакты

Случайная статья





МИНОБРНАУКИ РОССИИ. ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ. Отчет о выполнении лабораторной работы. по дисциплине «Численные методы». Интерполяционный полином Лагранжа. Задача



МИНОБРНАУКИ РОССИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

им. Р. Е. Алексеева»

АРЗАМАССКИЙ ПОЛИТЕХНИЧЕСКИЙ ИНСТИТУТ (ФИЛИАЛ)

 

Отчет о выполнении лабораторной работы

по дисциплине «Численные методы»

 

Выполнила:

студентка гр. АСПМ–09-1

Балахонова О. В.

Проверила:

Жилина Т. Е.

 

Арзамас

2012 г


Интерполяционный полином Лагранжа

Задача

Записать интерполяционный полином Лагранжа второй степени.

При n=1:

Информация о функции y=f(x) сосредоточена в двух точках (x0, y0), (x, y). Многочлен Лагранжа в этом случае составляется из двух базисных многочленов первой степени и имеет вид:

 

При n=2:

Значение функции известны в трех точках:

 
Блок – схема метода интерполяции функции полиномов Лагранжа
Код программы в среде Microsoft Visual C++

 

#include < iostream>

#include < iomanip>

#include < cstddef>

#include < cstdlib>

using namespace std;

//ввод вектора

double* inputv(int N)

{double* b;

b=new double [N];

if(b==NULL) {cout< < " \n ne xvataet o. p"; exit(1); }

for(int i=0; i< =N; i++)

cin> > b[i];

return b;

}

//вывод вектора

void outputv(double* b, int N)

{int i;

for (i=0; i< =N; i++)

{if (i%6==0) cout< < endl;

cout< < setw(10)< < b[i]; }

}

void main()

{double* x, * y;

double xp;

int j, k, N;

cout< < " \n vvedite N=";

cin> > N;

cout< < " \n vvedite X \n";

x=inputv(N);

outputv(x, N);

cout< < " \n vvedite Y \n";

y=inputv(N);

outputv(y, N);

cout< < " \n vvesti xp= \n ";

cin> > xp;

double yp=0;

for(j=1; j< =N; j++)

{double p=1;

for(k=1; k< =N; k++)

{if(j! =k) p=(p*(xp-x[k]))/(x[j]-x[k]); }

yp=yp+p*y[j];

}

cout< < " \n xp=" < < xp;

cout< < " \n yp=" < < yp< < endl;

}

 

 Результат программы:

 

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.