MW

  1. Treść zadania

Dla funkcji f(x)=sin2(x) w punktach {0, π/3, π/2, 3 π/4} wyznacz używając skryptów Octava (Matlaba) postać naturalnej funkcji sklejanej S3 (wielomian trzeciego stopnia) dla zadanego zbioru punktów. Następnie wyznacz (znów używając skryptów) postać wielomianu interpolacyjnego P3(x) metodą Newtona. Znając postacie funkcji S3(x) i P3(x) wykreśl za pomocą komendy plot błędy lokalne E1(x)=abs(f(x)-P3(x)) oraz E2(x)=abs(f(x)-S3(x)) i skomentuj rezultat. Wykreśl podane punkty oraz przebieg wyznaczonego wielomianu interpolacyjnego P3(x), S3(x) i funkcji f(x) używając komendy plot. Wydruk wykresy (wraz z kodem) dołącz do sprawozdania.

  1. Wstęp teoretyczny

Interpolacja funkcjami sklejanymi – metoda numeryczna polegająca na przybliżaniu nieznanej funkcji wielomianami niskiego stopnia.

Dla przedziału <a, b>, zawierającego wszystkie n+1 węzły interpolacji, tworzy się m przedziałów:

takich, że 

i w każdym z nich interpoluje się funkcję wielomianem (raczej niskiego stopnia) interpolacyjnym.

"Sklejenie" tych wielomianów ma tworzyć funkcję sklejaną.

Funkcja sklejana S jest funkcją interpolującą funkcję F, jeżeli:

, dla  są węzłami interpolacyjnymi funkcji F.

  1. Kod źródłowy

clc: close all; clear all;

x=[0 pi/3 pi/2 3*pi/4];

y=sin(x).^2;

S=nsfit(x,y);

N=length(x)-1;

H=diff(x);

D=diff(y)./H;

A=H(2:N-1);

B=2*(H(1:N-1)+H(2:N));

C=H(2:N);

U=6*diff(D);

for k=2:N-1

temp=A(k-1)/B(k-1);

B(k)=B(k)-temp*C(k-1);

U(k)=U(k)-temp*U(k-1);

end

M(N)=U(N-1)/B(N-1);

for k=N-2:-1:1

M(k+1)=(U(k)-C(k)*M(k+2))/B(k);

end

M(1)=0;

M(N+1)=0;

for k=0:N-1

S(k+1,1)=(M(k+2)-M(k+1))/(6*H(k+1));

S(k+1,2)=M(k+1)/2;

S(k+1,3)=D(k+1)-H(k+1)*(2*M(k+1)+M(k+2))/6;

S(k+1,4)=y(k+1);

end

xpom=linspace(x(1),x(4));

ypom=sin(xpom).^2;

x1=x(1):0.01:x(2); y1=polyval(S(1,:),x1-x(1));

x2=x(2):0.01:x(3); y2=polyval(S(2,:),x2-x(2));

x3=x(3):0.01:x(4); y3=polyval(S(3,:),x3-x(3));

[E,F]=newpoly(x,y);

n=length(x);

F=zeros(n,n);

F(:,1)=y';

for j=2:n

for k=j:n

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

end

end

E=F(n,n);

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

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

m=length(E);

E(m)=E(m)+F(k,k);

end

yy=polyval(E,xpom);

Error1=abs(ypom-yy);

ypom1=sin(x1).^2;

ypom2=sin(x2).^2;

ypom3=sin(x3).^2;

E1=abs(ypom1-y1);

E2=abs(ypom2-y2);

E3=abs(ypom3-y3);

subplot(3,1,1);

hh1=plot(xpom,yy,'k-',x1,y1,x2,y2,x3,y3,'g:',xpom,ypom,'r-');

subplot(3,1,2);

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

title('błąd lokalny dla wielomianu Newtona')

subplot(3,1,3);

hh3=plot(x1,E1,x2,E2,x3,E3,'k-');

title('błąd lokalny dla funkcji sklejanych')

  1. Wyniki obliczeń – wykresy.

  1. Analiza wniosków.

Błędy lokalne wyszły nieduże. Największe błędy były na pierwszym przedziale. Z powyższych wykresów widać, że funkcje sklejane nieznacznie lepiej dopasowują się do badanej funkcji ponieważ na drugim oraz trzecim przedziale ich błąd lokalny wraz ze wzrostem wartości x maleje, dlatego jeżeli to możliwe należy stosować dopasowanie funkcjami sklejanymi.


Wyszukiwarka

Podobne podstrony:
MW zaliczenie, Politechnika Poznańska ZiIP, IV semestr, IV semestr, Techniki pomiarowe, TechnikiPom,
Siły iśrodki MW, Akademia Morska Szczecin, Wojsko
Deklaracja Przyjęta w osiemdziesięciolecie Powstania MW
No 004 CCS Demonstration Plant fully integrated into new unit 858 MW
mw wyklady EKSOC+SM 7
wyklad mw pr 1
EN 13631 5 2002 Badania wodoodporności MW
mw-inwazja motywacji konsumpcyjnych, chomikowane nowe, cybernetyka
wyklad mw pr (2)
mw wyklady EKSOC+SM 3
mw wyklady EKSOC+SM 6
wyklad mw pr 6
mw wyklady EKSOC+SM
Model linii elektroenergetycznej MW
mw bialaczki chloniaki 2013
mw sum08 monogram m
Mikroprocesory MIKRO MW
QFD slajdy MW
modlitwy powszechne, mw na 11listopada, 1
modlitwy powszechne, mw na 11listopada, 1

więcej podobnych podstron