Nikodem Janik
Dawid Janus
SPRAWOZDANIE Z PODSAW AUTOMATYKI LABORATORIA
Laboratorium nr 1 :
Rozwiązywanie równań różniczkowych z niezerowymi warunkami
początkowymi
Równanie które będziemy liczyć metodą symboliczną, numeryczną oraz modelem w Simulinku
dy
dt
+
5
dy
dt
+
6y=0 dla war. Początkowych y(0)=0 , y'(0)=1
1. Metoda symboliczna
●
Kod programu:
syms
y
z
;
%definiuje zmienne symboliczne
z=dsolve(
'D2y + 5*Dy + 6*y = 0'
,
'y(0)=0'
,
'Dy(0)=1'
);
pretty(z);
%wyœwietla rozwi¹zanie
t=0:0.01:9.99;
w=subs(z);
%wartoœci z dla wektrora czasu t
plot(t,w,
'r-'
);
xlabel(
'czas[s]'
);
zlabel(
'amplituda sygnalu'
);
title(
'Wykres rozwiazania rownania rozniczkowego'
);
grid;
●
Działanie programu
Program zwraca rozwiązanie równania exp(-2 t) - exp(-3 t)
oraz wykres
2. Metoda numeryczna Rungego-Kutty(funkcja ode45)
●
Kod programu (równanie stanu) funkcja.m
function
ydot=funkcja(t,y)
ydot=zeros(2,1);
ydot(1)=y(2);
ydot(2)=(-5*y(2)-6*y(1));
●
Kod programu rozw2.m
function
rozw2
t0=0;
clc
disp(
'Funkcja rozwiazuje rownanie rozniczkowe zwyczajne
metoda'
)
disp(
'Rungeg-Kutty i podaje jego interpretacje graficzna:'
);
disp(
' '
);disp(
'Postac rownania:'
);disp(
' '
);
disp(
' y" + 5*y` + 6*y = 0'
);
y01=input (
'Podaj wartosc y01= '
);
y02=input (
'Podaj wartosc y02= '
);
tk=input (
'Podaj czas symulacji tk= '
);
czas_sym=[t0 tk];
war_pocz=[y01 y02];
[t,y]=ode45(
'funkcja'
,czas_sym,war_pocz);
plot(t,y(:,1),
'g-'
);
xlabel(
'czas[s]'
);
ylabel(
'amplituda sygnalu'
);
title(
'Wykres rozwiazania rownania rozniczkowego'
);
grid;
●
Działanie programu
Program zwraca:
Funkcja rozwiazuje rownanie rozniczkowe zwyczajne metoda
Rungeg-Kutty i podaje jego interpretacje graficzna:
Postac rownania:
y" + 5*y` + 6*y = 0
Podaj wartosc y01= 0
Podaj wartosc y02= 1
Podaj czas symulacji tk= 10
3. Model w simulinku
Model równania różniczkowego:
Wynik programu
0
1
2
3
4
5
6
7
8
9
1 0
0
0 . 0 2
0 . 0 4
0 . 0 6
0 . 0 8
0 . 1
0 . 1 2
0 . 1 4
0 . 1 6
c z a s [ s ]
a
m
p
li
tu
d
a
s
y
g
n
a
lu
W y k r e s r o z w i a z a n i a r o w n a n i a r o z n i c z k o w e g o
Scope
1
s
Integrator1
1
s
Integrator
-6
Gain1
-5
Gain
4. Zestawienie metod
5.Porównanie metod
0
1
2
3
4
5
6
7
8
9
1 0
0
0 . 1
0 . 2
M e t o d a s y m b o l i c z n a
a
m
p
li
tu
d
a
s
y
g
n
a
lu
c z a s [ s ]
0
1
2
3
4
5
6
7
8
9
1 0
0
0 . 1
0 . 2
M e t o d a n u m e r y c z n a
a
m
p
li
tu
d
a
s
y
g
n
a
lu
c z a s [ s ]
0
1
2
3
4
5
6
7
8
9
1 0
0
0 . 1
0 . 2
M e t o d a z u y c i e m w m o d e l u S i m u l i n k
ż
a
m
p
li
tu
d
a
s
y
g
n
a
lu
c z a s [ s ]
WNIOSKI
Po przeprowadzeniu symulacji można stwierdzić, że wszystkie z wyżej wymienionych metod dają prawie
identyczne rozwiązanie graficzne – niewielką różnicę można zauważyć tylko między wykresami
wykorzystującymi metodę dsolve a metody ode45 i Simulink’a(wykresy metody numerycznej i modelu
Simulink pokrywają się, ponieważ obie wykorzystują do obliczeń metodę ode45). Metoda analityczna jest
najdokładniejsza, gdyż daje rzeczywisty wynik.
Pozostałe metody jako metody numeryczne dają wyniki, które są obarczone błędem wynikającym z przyjętej
dokładności.