Teoria aproksymacji 3 7

Wstęp

Interpolacja wielomianowa, nazywana interpolacją Lagrange’a, a także po prostu interpolacją jest metodą numerycznego przybliżania funkcji wielomianem Lagrange’a stopnia n, przyjującym w n+1 punktach, zwanych węzłami interpolacji wartości takie same jak przybliżana funkcja. Stosowana jest w naukach doświadczalnych, w których dysponuje się skończoną liczbą danych do określenia zależności między wielkościami, a także w celu uproszczenia skomplikowanych funkcji.

Pierre Bézier w latach 60. XX wieku opisał typ krzywych nazywanych krzywymi Béziera, które pierwotnie używane były przy projektowaniu nadwozi samochodów Renault.

Krzywe Béziera są krzywymi parametrycznymi, tzn. każda współrzędna punktu krzywej jest pewną funkcją liczby rzeczywistej będącej wspomnianym parametrem; aby określić krzywą na płaszczyźnie potrzebne są dwie funkcje, aby określić krzywą w przestrzeni – trzy, itd. Ze względu na rodzaj tych funkcji mówi się o krzywych wielomianowych oraz krzywych wymiernych. Powszechnie stosuje się również krzywe złożone z kawałków gładko połączonych krzywych wielomianowych bądź wymiernych, tzw. krzywych B-sklejanych (także: krzywych gładkich).

Niezależnie od rodzaju krzywej na jej przebieg wpływa łamana kontrolna określona za pomocą punktów kontrolnych, których liczba jest zwykle niewielka. Ta cecha bardzo ułatwia pracę interakcyjną, bowiem człowiek w naturalny sposób może ustalać położenie punktów i w łatwy sposób korygować błędy.

Interpolacja Lagrange’a


$$x\left( t \right) = \cos^{3}(\frac{t}{4})$$


$$y\left( t \right) = \sin^{3}(\frac{t}{4})$$


t ∈ ⟨0, 8π

Interpolację wykonałam za pomocą funkcji polyfit, która tworzy wielomian interpolacyjny Lagrange’a. Do uzyskania wartości w konkretnych punktach użyłam funkcji polyval.

function z = teoaproxc7(n)

% n = liczba przedziałów w przedziale [a,b]

a=0;

b=8*pi;

m=3; %stopien funkcji B-spline

% Wyznaczanie elementów po podziale na n części

delta=(b)/(n);

T=a:delta:b;

U=0:1/(n+m+m):1; %n+m for all original objects

T2=a:0.01:b;

% Obliczenie funkcji interpolowanej

X2=cos(T2./4).^3;

Y2=sin(T2./4).^3;

% Tworzenie danych do interpolacji oraz interpolacja

X=cos(T./4).^3;

Y=sin(T./4).^3;

aux=size(T);

FITX=polyfit(T,X,aux(2)-1);

FITY=polyfit(T,Y,aux(2)-1);

X2int= polyval(FITX, T2);

Y2int= polyval(FITY, T2);

Aproksymacja przy użyciu krzywej B-spline

Aproksymację wykonałam korzystając ze wzoru:


$$p\left( t \right) = \sum_{i = 0}^{m - n - 1}p_{i}N_{i}^{n}\left( t \right)\ dla\ t \in \lbrack u_{n},\ \text{\ u}_{m - n}\rbrack$$


$$N_{i}^{n}\left( t \right) = \frac{t - u_{i}}{u_{i + n} - u_{i}}N_{i}^{n - 1}\left( t \right) + \frac{u_{i + n + 1} - t}{u_{i + n + 1} - u_{i + 1}}N_{i + 1}^{n - 1}\left( t \right)\ dla\ n > 0$$


$$N_{i}^{0}\left( t \right) = \left\{ \begin{matrix} 1\ dla\ t \in \lbrack u_{i},\ u_{i + 1}) \\ 0\ w\ przeciwnym\ przypadku \\ \end{matrix} \right.\ $$

n – stopień krzywej
m+1 – liczba węzłów
pi – i-ty punkt kontrolny
Nin(t) – unormowana funkcja B-sklejana stopnia n

% Tworzenie danych do aproksymacji oraz aproksymacja

for i=1:m

X(n+i)=X(i);

Y(n+i)=Y(i);

end

index=1;

k=U(m+1);

% t -> [U3, Un-3]

while k<=U(n+4) %-m

X2apx(index)=0;

Y2apx(index)=0;

for j=1:n+3 % n-stopień-1 (n-3-1) i+1 -> n-3

X2apx(index)=X2apx(index)+X(j)*N(m,j,k,U);

Y2apx(index)=Y2apx(index)+Y(j)*N(m,j,k,U);

end

k=k+0.002;

index=index+1;

end

By skorzystać z powyższego wzoru rekurencyjnego zdefiniowałam następującą funkcję:

function ret=N(n,i,t,u)

if n==0

if t >= u(i) && t< u(i+1)

ret=1;

else

ret=0;

end

else

ret=((t-u(i))/ (u(i+n) - u(i))) * N(n-1,i,t, u) + (u(i+n+1) - t)/(u(i+n+1)-u(i+1)) * N(n-1, i+1, t, u);

end

end

Wykonanie wykresów

Wykresy wykonałam za pomocą funkcji plot. Dodałam również opis osi oraz ograniczyłam wartości na osi poziomej oraz pionowej do przedziału x∈ < −1, 1>, y<-1, 1>.

% Rysowanie wykresów

plot(X2,Y2,'r.',X2int,Y2int,'g.',X2apx,Y2apx,'b.-');

xlabel('x'); ylabel('y');title('Wykres funkcji y=f(x) oraz funkcji interpolującej');

axis([-1 1 -1 1]);

legend('funkcja interpolowana','interpolacja Lagrangea','aproksymacja B-spline');

Wyznaczanie norm z wykorzystaniem metody Simpsona

Wzory na użyte normy:


f1∥ = ∫ab|f(x)|dx


$$\left\| f_{2} \right\| = \sqrt[2]{\int_{a}^{b}{f^{2}(x)\text{dx}}}$$

%Normy

Nix=X2-X2int;

Niy=Y2-Y2int;

norma1i=simpson(abs(Nix),a,b)+simpson(abs(Niy),a,b);

norma2i=sqrt(simpson(Nix.*Nix,a,b))+sqrt(simpson(Niy.*Niy,a,b));

Liczenie norm dla funkcji interpolowanej i aproksymowanej:

deltaux=(b)/(index-2);

Taux=a:deltaux:b;

Xaux=cos(Taux./4).^3;

Yaux=sin(Taux./4).^3;

Nx=X2apx-Xaux;

Ny=Y2apx-Yaux;

norma1a=simpson(abs(Nx),a,b)+simpson(abs(Ny),a,b);

norma2a=sqrt(simpson(Nx.*Nx,a,b))+sqrt(simpson(Ny.*Ny,a,b));

Wyniki

N=5 N=10 N=50 N=100
f1 interpolacja 10.9945 3.0170 3.4401e-004 4.8551e+004
f2 interpolacja 2.8094 1.2672 3.6939e-004 8.4087e+004
f1 aproksymacja 27.4690 17.6545 3.8991 1.8619
f2 aproksymacja 5.9055 3.8871 0.9143 0.4376

Wnioski

Jak widać na powyższych wykresach, zadana krzywa stosunkowo łatwo interpoluje się interpolacją Lagrange’a. natomiast aproksymacja przy małej ilości węzłów daje dużo gorsze przybliżenie przebiegu funkcji natomiast warto zauważyć, że mimo tego dobrze odzwierciedla jej kształt. Dla liczby węzłów 50 aproksymacja daje przybliżony rezultat jaki interpolacja osiąga już przy 10 węzłach. Dalszy wzrost liczby punktów podziału zwiększa dokładność aproksymacji, lecz powoduje również zakłócenie prac algorytmu interpolacji Lagrange, który przy tak dużej liczbie danych nie potrafi ich prawidłowo zinterpretować.


Wyszukiwarka

Podobne podstrony:
Projekt 1 Teoria aproksymacji, 1.17
Teoria aproksymacji 1 12
Projekt 1, Teoria aproksymacji 1 17
Teoria aproksymacji 2 6
Projekt 1 Teoria aproksymacji 1 17
teoria bledow 2
sroda teoria organizacji i zarzadzania
W10b Teoria Ja tozsamosc
Teoria organizacji i kierowania w adm publ prezentacja czesc o konflikcie i zespolach dw1
wZ 2 Budowa wiedzy społecznej teoria schematów
TEORIA NUEROHORMONALNA EW
zarzadcza teoria 3
Ruciński A Teoria Grafów 1, wyklad6
Społeczno pragmatyczna teoria uczenia sie słów
rozwojowka slajdy, Wyklad 5 Srednia doroslosc teoria czasowa

więcej podobnych podstron