metody cw3

INSTYTUT AUTOMATYKI

ZAKŁAD TEORII STEROWANIA

Semestr: IV

Wydział: EEIiA

Grupa: 4C2, poniedziałek 1015

LABORATORIUM METOD NUMERYCZNYCH

Ćwiczenie nr 3

Temat: Interpolacja i aproksymacja

Imię i Nazwisko

Nr indeksu

Tomasz Jończyk

163527

Piotr Morawiec

163567

Celem ćwiczenia było praktyczne zaznajomienie się z podstawowymi aspektami interpolacji wielomianowej, interpolacji funkcjami sklejanymi i aproksymacji średniokwadratowej.

Interpolacja metodą rodziny trójkątnej

Funkcja 1

%function [c]=inter1(x,y)

x=linspace(-6,3,15);

y=exp(-(x/3)).*cos(x);

n=length(x);

m=n;

%Mianownik

mianownik2=ones(n,n);

for i=2:n

for j=1:n

if j<i

mianownik(i,j)=(x(i)-x(j));

else

mianownik(i,j)=1;

end

end

end

mianownik;

%mianownik2=prod(mianownik(4,:));

%Licznik

c=ones(n,1);

c(1,1)=y(1);

for i=2:n

c(i,1)=(y(i))/prod(mianownik(i,:));

h=i-1;

g=i;

for j=1:n

h=h-1;

g=g-1;

if j<i

c(i,1)=c(i,1)-((c(g,1)*prod(mianownik(i,(1:(h)))))/prod(mianownik(i,:)));

end

end

end

c %wartosci poszczegolnych c

U=1 %wartosc wielomianu w danym punkcie

for i=1:n

X(:,m)=x(1,i);

R=U-x(1,1:i-1);

wsp(i,:)=prod(R);

wynik(i,:)=c([i],1)*wsp(i,:)

end

sum(wynik)

wynik =

7.0948

-38.2252

-3.4819

208.5858

-283.9372

73.2480

87.1065

-61.1182

10.4051

1.0631

-0.3689

0.0153

0.0000

-0.0000

-0.0000

ans =

0.3871

Dla funkcji y= exp(-(x/3)).*cos(x), gdzie x zawiera się w przedziale [-6,3] wartości funkcji w x=1 wyniosła y= 1.174367344.

Funkcja 2

%function [c]=inter2(x,y)

x=linspace(-4,6,15);

y=(x./(sqrt(1.+x.^2)));

n=length(x);

m=n;

%Mianownik

mianownik2=ones(n,n);

for i=2:n

for j=1:n

if j<i

mianownik(i,j)=(x(i)-x(j));

else

mianownik(i,j)=1;

end

end

end

mianownik;

%mianownik2=prod(mianownik(4,:));

%Licznik

c=ones(n,1);

c(1,1)=y(1);

for i=2:n

c(i,1)=(y(i))/prod(mianownik(i,:));

h=i-1;

g=i;

for j=1:n

h=h-1;

g=g-1;

if j<i

c(i,1)=c(i,1)-((c(g,1)*prod(mianownik(i,(1:(h)))))/prod(mianownik(i,:)));

end

end

end

c %wartosci poszczegolnych c

U=1 %wartosc wielomianu w danym punkcie

for i=1:n

X(:,m)=x(1,i);

R=U-x(1,1:i-1);

wsp(i,:)=prod(R);

wynik(i,:)=c([i],1)*wsp(i,:)

end

sum(wynik)

wynik =

-0.9701

0.0943

0.2352

0.5482

1.1841

1.4925

-1.7581

-0.1190

0

0

0

0

0

0

0

ans =

0.7071

Dla funkcji y=(x./(sqrt(1.+x.^2))), gdzie x zawiera się w przedziale [-4,6] wartości funkcji w x=1 wyniosła y= 0.7071.

Aproksymacja

function [c]=apro(x,y)

%obliczam fi_0

l=length(x);

fi_1=ones(l,1);

for i=1:l

fi_0(i)=exp(x(i));

end

a00=dot(fi_0,fi_0);

a01=dot(fi_0,fi_1);

a10=dot(fi_1,fi_0);

a11=dot(fi_1,fi_1);

b0=dot(fi_0,y);

b1=dot(fi_1,y);

A=[a00 a01;a10 a11];

B=[b0;b1];

c=inv(A)*B;

yy=c(1) + c(2)*exp(x);

%wielomian aproksymujący stopnia drugiego

p = polyfit(x, y, 2);

yp = polyval(p, x);

%Wykresy:

plot(x,y,'g-',x,yy,'b-',x,yp,'r-'),grid,legend('funkcja prawidlowa','aproksymacja sredniokwadratowa','aproksymacja wielomianem drugiego stopnia'),xlabel('x'),ylabel('f(x)'),title('Aproksymacja średniokwadratowa i wielomianem drugiego stopnia');

plot(x,abs(y-yy),'r-',x,abs(y-yp),'b-'),grid,legend('aproksymacja sredniokwadratowa','aproksymacja wielomianem drugiego stopnia'),xlabel('x'),ylabel('blad'),title('Wykres błędu');

Dla:

x=[0.000 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900 1.000]

y=[4.1724 4.1040 4.1022 4.2587 4.2130 4.3558 4.7028 4.6478 4.6564 4.8710 4.9451]

a = 0.5290

b = 3.5407


Wyszukiwarka

Podobne podstrony:
Metody statystyczne cw3, Matematyka, Kombinatoryka, prawdopodobieństwo, statystyka, metody statystyc
ćw3 Metody org
T 3[1] METODY DIAGNOZOWANIA I ROZWIAZYWANIA PROBLEMOW
10 Metody otrzymywania zwierzat transgenicznychid 10950 ppt
metodyka 3
organizacja i metodyka pracy sluzby bhp
metodyka, metody proaktywne metodyka wf
epidemiologia metody,A Kusińska,K Mitręga,M Pałka,K Orszulik 3B
GMO metody wykrywania 2
Metody i cele badawcze w psychologii
E learning Współczesne metody nauczania
Tradycyjne metody nauczania w medycynie 2
Fwd dydaktyka, Metody alternatywne
FORMY I METODY REHABILITACJI(1)
Zaawansowane metody udrażniania dród oddechowych

więcej podobnych podstron