Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Pakiety numeryczne Interpolacja i aproksymacja Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.

Podobne prezentacje


Prezentacja na temat: "Pakiety numeryczne Interpolacja i aproksymacja Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania."— Zapis prezentacji:

1 Pakiety numeryczne Interpolacja i aproksymacja Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania

2 Definicje Podstawowe zadanie interpolacji polega na przeprowadzeniu krzywej przez szereg zadanych punktów (x i, y i ) (i=0,1,…,n). W przypadku aproksymacji krzywa nie musi przechodzić przez zadane punkty.

3 Interpolacja liniowa x=-1:0.5:1; y=x.^2; xx=-1:0.01:1; yy=interp1(x,y,xx); plot(x,y,'rs',xx,yy); figure; plot(x,y,'rs',x,y,'g');

4 Aproksymacja wielomianowa x=[ ]; y=[ ]; plot(x,y,'rs'); set(gca,'YLim',[ ]); p0=polyfit(x,y,0); p1=polyfit(x,y,1); p2=polyfit(x,y,2); p3=polyfit(x,y,3); xx=0:0.01:3; yy0=polyval(p0,xx); yy1=polyval(p1,xx); yy2=polyval(p2,xx); yy3=polyval(p3,xx); hold on; plot(xx,yy0,xx,yy1,xx,yy2,xx,yy3); legend({'Punkty','St 0','St 1','St 2','St 3'});

5 Efekt Rungego x=0:10; y=rand(size(x)); plot(x,y,'rs'); p=polyfit(x,y,10); xx=0:0.01:10; yy=polyval(p,xx); hold on; plot(xx,yy); Zastosowanie wielomianów wysokiego stopnia może powodować pojawienie się oscylacji, zwłaszcza przy skrajnych węzłach

6 Wielomiany Czebyszewa T 0 =1 T 1 =x T k =2xT k-1 -T k-2

7 Wielomiany Czebyszewa T{1}=1; T{2}=[1 0]; for i=3:12 T{i}=conv([2 0],T{i-1})-[0 0 T{i-2}]; end x=5*roots(T{end})+5; y=rand(size(x)); plot(x,y,'rs'); p=polyfit(x,y,10); xx=0:0.01:10; yy=polyval(p,xx); hold on; plot(xx,yy);

8 Funkcje sklejane

9 Funkcje sklejane - definicja Mając dyskretną funkcję f zdefiniowaną na przedziale [a,b] oraz zbiór punktów, zwanych węzłami, a=x 0

10 Funkcje sklejane - definicja 3., dla j=0,1,…,n-2 4., dla j=0,1,…,n metoda ograniczeń naturalnych albo oraz - metoda ograniczeń związanych

11 Funkcje sklejane - przykład albo

12 Funkcje sklejane x=[ ]; y=[ ]; s=spline(x,y) s = form: 'pp' breaks: [ ] coefs: [3x4 double] pieces: 3 order: 4 dim: 1 xx=0:0.01:3; yy=ppval(s,xx); plot(x,y,'rs',xx,yy)

13 Funkcje sklejane x=[ ]; y=[ ]; s=spline(x,y); for i=1:s.pieces xx(:,i)=s.breaks(i):0.01:s.breaks(i+1); yy(:,i)=polyval(s.coefs(i,:),xx(:,i)); end plot(xx,yy); s.coefs ans = for i=1:s.pieces xx(:,i)=s.breaks(i):0.01:s.breaks(i+1); yy(:,i)=polyval(s.coefs(i,:),0:0.01:1); end plot(xx,yy); Ogólnie: s.breaks(i+1)-s.breaks(i)

14 Spline vs polynomial x=0:10; y=rand(size(x)); plot(x,y,'rs'); p=polyfit(x,y,10); s=spline(x,y); xx=0:0.01:10; yy=polyval(p,xx); yys=ppval(s,xx); hold on; plot(xx,yy,xx,yys); legend({'Punkty','St 10','Spline'});

15 Aproksymacja dowolną funkcją x=-pi:pi/2:pi; y=2*sin(3*x); f=fittype('a*sin(b*x)'); f=fit(x.',y.',f,'StartPoint',[1 2]) f = General model: f(x) = a*sin(b*x) Coefficients (with 95% confidence bounds): a = 2 (2, 2) b = 3 (3, 3) xx=-pi:0.01:pi; yy=2*sin(3*xx); yyf=f(xx); plot(x,y,'rs',xx,yy,xx,yyf); legend({'Punkty','Fun','Fit'});

16 Sztuczne sieci neuronowe (typ MLP) x=-1:0.1:1; y=x.^2; SSN=fitnet(5); view(SSN); SSN=train(SSN,x,y); view(SSN); xx=-1:0.01:1; yy=xx.^2; yy_SSN=sim(SSN,xx); plot(x,y,'rs',xx,yy,xx,yy_SSN) legend({'Punkty','Fun','SSN'});

17 Interpolacja liniowa funkcji 2D figure('Color',[1 1 1]); [x, y]=meshgrid(-1:0.5:1,-1:0.5:1); z=x.^2+y.^2; plot3(x,y,z,'*','MarkerSize',10) box on; view(-18,50) hold on [xi, yi]=meshgrid(-1:0.05:1,-1:0.05:1); zi=interp2(x,y,z,xi,yi); surf(xi,yi,zi) figure('Color',[1 1 1]); plot3(x,y,z,'*','MarkerSize',10) box on; view(-18,50) hold on zi=interp2(x,y,z,xi,yi,'spline'); surf(xi,yi,zi)

18 Prezentacja udostępniona na licencji Creative Commons: Uznanie autorstwa, Na tych samych warunkach 3.0. Pewne prawa zastrzeżone na rzecz autorów. Zezwala się na dowolne wykorzystywanie treści pod warunkiem wskazania autorów jako właścicieli praw do prezentacji oraz zachowania niniejszej informacji licencyjnej tak długo, jak tylko na utwory zależne będzie udzielana taka sama licencja. Tekst licencji dostępny jest na stronie:


Pobierz ppt "Pakiety numeryczne Interpolacja i aproksymacja Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania."

Podobne prezentacje


Reklamy Google