zad 2

1. Kod programu matlab

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')

2. Wykresy

3. Wnioski

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.

4. Treść zadania

4) „Funkcje sklejane” – 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.


Wyszukiwarka

Podobne podstrony:
wm 2011 zad 2
Instrukcja do zad proj 13 Uklad sterowania schodow ruchom
CAD CAM KWPPWPS Zad graf PDF
2009 klucz zad 01 092 u
ALGEBRA zad 2 id 57346 Nieznany (2)
K2 2009 10 zad 2 id 229691
koło 15 zad 1
GIiZK 0809 przydzial tematow zad domowego
cw zad dysocjacja hydroliza buf Nieznany
E1 2010 11 zad 2 id 149115
K1 2007 08 zad 5 id 229626
ICh S schemat rozw zad konwekcja
Zad 4, UEK, FiR II SEMESTR, Standardy Sprawozdawczości Finansowej
Zad 25 10 11, AGH Imir materiały mix, Studia
PRAKTYCZNY czerwiec 2007 zad.3, egzamin technik informatyk
UK+üAD WSP+ô+üCZULNY, Biologia II, Fizjologia zwierząt i człowieka
zad 2, Licencjat UE, mikroekonomia
zad-miedzy4 6, ZDROWIE, NAUKA

więcej podobnych podstron