Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Pakiety numeryczne Interpolacja i aproksymacja

Podobne prezentacje


Prezentacja na temat: "Pakiety numeryczne Interpolacja i aproksymacja"— 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 (xi, yi) (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
T0=1 T1=x Tk=2xTk-1-Tk-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=x0<x1<…<xn=b, funkcję F można zdefiniować jako interpolującą kubiczną funkcję sklejaną, gdy spełnia poniższe warunki: 1. Fj jest wielomianem trzeciego stopnia, dla j=0,1,…,n-1 oraz , dla j=0,1,…,n-1

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

11 Funkcje sklejane - przykład
albo 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 s.breaks(i+1)-s.breaks(i)
Funkcje sklejane Ogólnie: s.breaks(i+1)-s.breaks(i) 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);

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); 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) zi=interp2(x,y,z,xi,yi,'spline');

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"

Podobne prezentacje


Reklamy Google