SPRAWOZDANIE METODY 3

SPRAWOZDANIE

METODY NUMERYCZNE

ĆWICZENIE 3

Interpolacja
i aproksymacja

Hubert Łuczak 171376

Tomasz Szumko 171423


Zadanie 1

M-funkcja licząca wielomian metodą rodziny trójkątnej:

c(1)=y(1);

for i=2:1:size(x,2)

b=0;

m=1;

l=0;

for j=1:1:i-1

m=m*(x(i)-x(j));

end

for j=1:1:i-1

a=1;

for k=1:1:j-1

a=a*(x(i)-x(k));

end

b=b+c(j)*a;

end

l=y(i)-b;

c(i)=l/m;

end

x1(1)=0;

n=size(x,2);

h=size(c,2);

for i=1:n

x1(i+1)=x(i);

end

x=x1;

w=zeros(1,n);

for i=1:n

a1=size(w);

a=a1(2);

q=[1 -x(i)];

p=w;

for j=1:a

p(i+j)=0;

for k=1:2

w(1)=1;

if k>1,

w(j+k-1)=p(j+k-1)+p(j)*q(k);

end

end

end

l=1;

for z=(n-i+1):n

W(i,z)=w(l);

l=l+1;

end

end

clear i

for i=1:h

W(i,:)=W(i,:)*c(i);

end

Z(1,:)=W(n,:);

for i=1:h-1

Z(1,:)=Z(1,:)+W(i,:);

end

Z

Błąd dla wielomianu stopnia 30:

x=[-6:0.3:3];

for i=1:1:31

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

end

w=polyfit(x,y,30);

for i=1:300

x(i)=(-6)+(9*i/300);

error(i)=polyval(w,(x(i)))-(cos(x(i))*exp(-x(i)/3));

end

plot(x,error)

Dla wielomianu stopnia 30 wyznaczony błąd ma mikroskopijna wartość.

Błąd dla wielomianu stopnia 50:

x=[-4:0.2:6];

for i=1:1:51

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

end

w=polyfit(x,y,30);

for i=1:300

x(i)=(-4)+(10*i/300);

error(i)=polyval(w,(x(i)))-(x(i)/(sqrt(1+(x(i)^2))));

end

plot(x,error)

Dla wielomianu stopnia 50 wyznaczony błąd ma niewielką wartość. Dla wielomianiu stopnia 30 błąd był znacznie większy (rzędu 200-300 na krańcach przedziału).


Zadanie 2

x=[0:0.1:1];

y=0.5625*exp(x)+0.529;

fi0=ones(1,size(x,2));

for i=1:1:size(x,2)

fi1(i)=exp(x(1,i));

end

macierzfi=[fi0;fi1];

for k=1:1:2

for j=1:1:2

K(k,j)=macierzfi(k,:)*macierzfi(j,:)';

L(k,1)=macierzfi(k,:)*y';

end

end

A=inv(K)*L

%generowanie zaburzeń

zab1=(2*rand(11,1)-1)/100;

zab2=(10*rand(11,1)-5)/100;

zab3=(20*rand(11,1)-10)/100;

zab4=(50*rand(11,1)-25)/100;

Y=ones(11,4);

Y(:,1)=(1+zab1).*y';

Y(:,2)=(1+zab2).*y';

Y(:,3)=(1+zab3).*y';

Y(:,4)=(1+zab4).*y';

%zaburzenie +/- 1%

for k=1:1:2

for j=1:1:2

K(k,j)=macierzfi(k,:)*macierzfi(j,:)';

L(k,1)=macierzfi(k,:)*Y(:,1);

end

end

B=inv(K)*L

%zaburzenie +/- 5%

for k=1:1:2

for j=1:1:2

K(k,j)=macierzfi(k,:)*macierzfi(j,:)';

L(k,1)=macierzfi(k,:)*Y(:,2);

end

end

C=inv(K)*L

%zaburzenie +/- 10%

for k=1:1:2

for j=1:1:2

K(k,j)=macierzfi(k,:)*macierzfi(j,:)';

L(k,1)=macierzfi(k,:)*Y(:,3);

end

end

D=inv(K)*L

%zaburzenie +/- 25%

for k=1:1:2

for j=1:1:2

K(k,j)=macierzfi(k,:)*macierzfi(j,:)';

L(k,1)=macierzfi(k,:)*Y(:,4);

end

end

E=inv(K)*L

%wykresy

hold on

plot(x,y,'k')

plot(x,Y(:,1),'o')

x=[0:0.01:1];

YY=B(1,1)*exp(x)+B(2,1);

plot(x,YY,'r--')

Wykresy:

Na poszczególnych wykresach zostały przedstawione funkcje bez zaburzeń (linia ciągła), węzły (o) oraz funkcje po zaburzeniu (linia przerywana).

Zaburzenie +/- 1%

Zaburzenie +/- 5%

Zaburzenie +/- 10%

Zaburzenie +/- 25%


Wyszukiwarka

Podobne podstrony:
Badanie właściwości aplikacyjnych i eksploatacyjnych powłok polimerowych - sprawozdanie, metody bada
Sprawozdanie Metody pomiaru
Sprawozdanie z metody biegunowej
Sprawozdanie 3 Metody Pomiaru Rezystancji i Impedancji
SPRAWOZDANIE METODY 5
Sprawozdanie Metody numeryczne
Sprawozdanie metody numeryczne XCOS
apro i intr, Studia, Sprawozdania, Metody numeryczne
MATLAB - Wprowadzenie do Matlaba, Studia, Sprawozdania, Metody numeryczne
Sprawozdanie Metody Pomiaru Mocy
1. Matlab. Zapoznanie z programem, Elektrotechnika - notatki, sprawozdania, Metody numeryczne w tech
2. Matlab. Algebra liniowa, Elektrotechnika - notatki, sprawozdania, Metody numeryczne w technice
Sprawozdanie metody numeryczne liniowe
SPRAWOZDANIE METODY 5 (1)
Sprawozdanie metody numeryczne nieliniowe
Sprawozdanie Metody Numeryczne Metoda oczkowa
Sprawozdanie metody numeryczne nieliniowe
Sprawozdanie Metody Numeryczne Metoda oczkowa
Badanie właściwości aplikacyjnych i eksploatacyjnych powłok polimerowych - sprawozdanie, metody bada

więcej podobnych podstron