Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Пример программ для вычислений по первой формуле Ньютона в MATLAB



X,Y – табличные значения; x – точка интерполяции; n – количество узловых точек.

function res = Nuton1(x,X,Y,n)

res=Y(1);

% определение шага таблицы

H=X(2)-X(1);

for i=1:n

% построение матрицы конечных разностей

konrazn=diff(Y,i);

konrazn=konrazn(1);

% вычисление факториала

fact=prod(1:i);

% вычисление (x-x0)(x-x1)...(x-xn-1)

Mult=1;

for j=1:i

Mult=Mult*(x-X(j));

end;

res=res+(konrazn/(fact * H^i))*Mult;

end;

res

return

Функция EvalNuton.m вычисляет значения указанного полинома в заданном множестве точек:

function yy = EvalNuton(X,Y,xx,formNumber)

n=length(X)-1;

if (formNumber==1)

for i=1:length(xx);

yy(i)=Nuton1(xx(i),X,Y,n);

end;

else

for i=1:length(xx);

yy(i)=Nuton2(xx(i),X,Y,n+1);

end;

end;

return

Пример вызова функций и построения графика:

>> x = [0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]

>> y = [0.99602 1.07670 1.15402 1.22777 1.29776 1.36386 1.42592 1.48384 1.53751 1.58688]

>> EvalNuton(x,y,0.04,1)

res =

1.0287

>> EvalNuton(x,y,0.89,2)

res =

1.5821

>> xx=linspace(0,1,1000)

>> yy=EvalNuton(x,y,xx,1)

>> figure('Color','w')

>> hold on

>> plot(xx,yy,'r')

>> plot(x,y,'bo')





Дата публикования: 2015-04-07; Прочитано: 262 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...