Sprawozdanie
laboratoria Metod Numerycznych 11.04.2011
I. Metoda Eulera „w przód” (k+1) (forword):
a)Implementacja metody :
function x=euler(A,B,fw,fw2,dt,t,x0)
maxit=t/dt;
x=x0;
[m,n]=size(A);
I=eye(m,m);
f1=inline(fw);
f2=inline(fw2);
for i=1:maxit
u1=feval(f1,i*dt)
u2=feval(f2,i*dt)
u=[u1;u2]
x=inv(I-dt*A)*(x+dt*B*u);
iter(i)=i;
zmx1(i)=x(1);
zmx2(i)=x(2);
zmx3(i)=x(3);
end;
plot(iter,zmx1,iter,zmx2,iter,zmx3)
b) Sprawdzenie sposobu działania metody dla danych :
R1=100
R2=100
C1=100e-6
C2=220e-6
L=1e-3
x0=[0;0;0]
% macierze systemowe;
E=[R1*C1 0 L; 0 R2*C2 L; C1 C2 0]
A1=[-1 1 0; 0 -1 0 ;0 0 1]
B1=[1 0; 0 1; 0 0]
A=inv(E)*A1;
B=inv(E)*B1;
%wartości e1 i e2;
fw='10*sin(2*pi*50*t)'
fw2='20*sin(2*pi*50*t)'
% krok początkowy oraz krok i czas symulacji
dt=1e-4
t=1e-1
% funkcja symulacji
x=euler(A,B,fw,fw2,dt,t,x0)
c) Otrzymany wykres:
II. Metoda Eulera „w tył” (k) (backword) :
Implementacja metody :
function x=euler(A,B,fw,fw2,dt,t,x0)
maxit=t/dt;
x=x0;
[m,n]=size(A);
I=eye(m,m);
f1=inline(fw);
f2=inline(fw2);
for i=1:maxit
u1=feval(f1,i*dt)
u2=feval(f2,i*dt)
u=[u1;u2]
x= (I+dt*A)* x+dt*B*u;
iter(i)=i;
zmx1(i)=x(1);
zmx2(i)=x(2);
zmx3(i)=x(3);
end;
plot(iter,zmx1,iter,zmx2,iter,zmx3)
b)Sprawdzenie sposobu działania metody dla danych :
R1=100
R2=100
C1=100e-6
C2=220e-6
L=1e-3
x0=[0;0;0]
% macierze systemowe;
E=[R1*C1 0 L; 0 R2*C2 L; C1 C2 0]
A1=[-1 1 0; 0 -1 0 ;0 0 1]
B1=[1 0; 0 1; 0 0]
A=inv(E)*A1;
B=inv(E)*B1;
%wartości e1 i e2;
fw='10*sin(2*pi*50*t)'
fw2='20*sin(2*pi*50*t)'
% krok początkowy oraz krok i czas symulacji
dt=1e-5
t=1e-1
% funkcja symulacji
x=euler(A,B,fw,fw2,dt,t,x0)
c) Otrzymany wykres:
III. Wnioski
Dla podanych danych metoda Eulera „w tył „ w przeciwieństwie do metody „w przód” nie wykazuje zbieżności z powodu źle dobranego kroku symulacji. Jest to bezpośrednio związane z punktem „k” co w powiązaniu z Tw. „O próbkowaniu” pozwala dopasować krok symulacji i osiągnąć zbieżność metody.
Metoda Eulera jest stabilna aczkolwiek w przypadku dużych kroków symulacji wyniki są nieprawdziwe.
Wykonali : Krzysztof Maćkowski, Daniel Szepe