POLITECHNIKA WROCŁAWSKA ZAKŁAD AUTOMATYKI |
1.Szymon Okoń | Wydział: W-5 Rok studiów: III Rok Akademicki : 2011/2012 Termin: Czwartek, 915-1045 |
---|---|---|
Metody numeryczne | ||
Data wykonania ćwiczenia: 08.03.2012 |
Nr ćwiczenia: 3 Temat: Interpolacja funkcji dyskretnej |
|
Data oddania sprawozdania:15.03.2012 |
||
Prowadzący:Mgr inż. Łukasz Staszewski |
I. Cel ćwiczenia.
Zapoznanie się z algorytmem interpolacji funkcji dyskretnej. Wykreślenie w Matlab`ie wykresów funkcji ciągłej, które są odtworzeniem funkcji dyskretnej. Do tego celu zostały wykorzystane trzy metody interpolacji linear, cubic, spline (używane wraz z biblioteczną funkcję Matlaba interp1).
II. Przebieg ćwiczenia.
Dane:
k | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|---|
y(k) | -2.0 | -1.2 | 0.5 | 1.6 | 1.0 | 0.2 | -0.5 | -0.8 |
Wykres 1. Interpolacja funkcji jednej zmiennej wykonana czterema metodami.
Kod z m-pliku wykorzystanego w tym zadaniu.
clc
clear all
close all
%%interpolacja funkcji jednej zmiennej
k=0:7; %(x,y) - współrzędne węzłów interpolacji
y=[-2.0 -1.2 0.5 1.6 1.0 0.2 -0.5 -0.8];
T=0.001;
l=1; m=0;
P=1:(max(k)/T)+1;
t=0:T:max(k);
y1=interp1(k,y,t,'linear');
y2=interp1(k,y,t,'spine');
y3=interp1(k,y,t,'cubic');
grid on
hold on
title('interpolacja funkcji jednej zmiennej')
xlabel('zmienna k')
ylabel('zmienna y')
text(2,11,' - wezly interpolacji')
%% 3-punktowa interpolacja
for i= 1:length(y)-2
d= m:T:2;
for h=1:length(d)
P(l)= 0.5*(2*y(i)-d(h)*(3*y(i)-4*y(i+1)+y(i+2))+(d(h)^2)*(y(i)-2*y(i+1)+y(i+2)));
l=l+1;
end
m=1+T;
end
%% graf
title('Interpolacja funkcji jednej zmiennej'); xlabel('Próbki'); ylabel('Amplituda');
plot(k,y,'*',t,y1,t,y2,t,y3,t,P)
legend('Funkcja interpolowana','interpolacja wykonana za pomocą programu','interpolacja wykonana funkcją linear','interpolacja wykonana funkcją spine','interpolacja wykonana funkcją cubic');
grid on
hold on
Wnioski:
Interpolacja ma na celu wyznaczenie wartości funkcji pomiędzy węzłami interpolacji. Do tego zadania używany komend linear – interpolacja liniowa, cubic – interpolacja wielomianami trzeciego rzędu oraz spline - interpolacja funkcjami sklejanymi trzeciego stopnia. Interpolacja liniowa jest jedynie sztywnym połączeniem punktów. Najdokładniejsza wydają się być interpolacja 3-punktowa, ponieważ znajduje się pomiędzy funkcjami interpolacji cubic i spline. Funkcja cubic, moim zdaniem jest nad wyraz zaokrąglona.