Zad2

Kod Matlab

x=[1 2 3];

y=2*cos(x./4);

Wsp=lspoly(x,y,2)

n=length(x);

B=zeros(1:2+1);

F=zeros(n,2+1);

for k=1:2+1

F(:,k)=x'.^(k-1);

end

A=F'*F;

B=F'*y';

Wsp=A\B;

Wsp=flipud(Wsp);

a=Wsp(1)

b=Wsp(2)

c=Wsp(3)

xpom=linspace(x(1),x(3),1000);

ypom=2*cos(xpom./4);

fx=a*xpom.^2+b*xpom+c;

%wyznaczenie wielomianu interpolacyjnego metodą Newtona

[C,D]=newpoly(x,y)

n=length(x);

D=zeros(n,n);

D(:,1)=y';

% obliczanie ilorazow roznicowych

for j=2:n

for k=j:n

D(k,j)=(D(k,j-1)-D(k-1,j-1))/(x(k)-x(k-j+1));

end

end

% okreslenie wspolczynnikow wielomianu interpolacyjnego Newtona

C=D(n,n);

for k=(n-1):-1:1

C=conv(C,poly(x(k)));

m=length(C);

C(m)=C(m)+D(k,k);

end

yy=polyval(C,xpom);

E1=abs(ypom-fx);

E2=abs(ypom-yy);

subplot(3,1,1)

hh1=plot(x,y,'rx',xpom,ypom,'k-',xpom,fx,'g-',xpom,yy,'b-');

subplot(3,1,2)

hh2=plot(xpom,E1,'k-');

subplot(3,1,3);

hh3=plot(xpom,E2);

Wykresy

Wnioski

Wielomian interpolacyjny oraz aproksymacja średniokwadratowa mają te same współczynniki jest to spowodowane niskim stopniem wielomianu interpolacyjnego oraz niewielką liczbą węzłów interpolacyjnych. W przypadku powiększenia ilości węzłów wielomian mógłby znacznie odbiegać od przebiegu funkcji f(x). Błędy lokalne w obu przypadkach wyszły bardzo niewielkie dlatego można uznać, że zarówno metoda aproksymacji średniokwadratowej jaki i interpolacji metodą Newtona jest poprawna i daje dokładne wyniki.

Cezary Winnik 157958

Metody numeryczne

Temat: Aproksymacja średniokwadratowa

Prowadzący: dr inż. P. Regucki


Wyszukiwarka

Podobne podstrony:
zad2
geometria zad2
Geometria zadania 1 5, Zad2 1
3361903675832 TS kulki wagony ZAD2
mik zad2
Metoda M M zad2
Geometria zadania 1 5, Zad2 3
Zad2 rmr wzor
al lin zad2 rozw
sprawko zad2
silnik ind zad2
ZPB Zad2 Turki
2 M2 WielochM TaberskiP ZAD2
Metoda M M zad2
zad2 wzor
do litery d-zad2
Przedszkola, Zad2
do litery i-zad2
Zˆamaäski PSy zad2

więcej podobnych podstron