Akademia Górniczo Hutnicza
w Krakowie
TEMAT ĆWICZENIA:
Rozwiązywanie równań różniczkowych
z niezerowymi warunkami początkowymi
MSE
Rok 3
grupa 3
Data wykonania
10-01-2007 r.
Data zaliczenia
Ocena
Tomasz Siwek
1. Cel ćwiczenia:
· zapoznanie się z różnymi metodami rozwiązywania równań różniczkowych w Matlabie,
· wykorzystanie Simulinka do tworzenia modelu równania różniczkowego,
· archiwizacja otrzymanych rozwiązań,
2. Przebieg ćwiczenia:
2.1 Rozwiązać równania różniczkowe wykorzystując funkcje ode45 oraz model równania przygotowany w Simulinku. Wykreślić przebieg funkcji y(t) otrzymanej w wyniku symulacji i porównać wyniki otrzymane w obu metodach.
a.) dla war. początkowych: y(0)=0 i y’(0)=0
· przekształcamy powyższe równanie do postaci równań stanu:
· tworzymy m-plik definiujący równania stanu:
function xdot=funkcja1a(t,x)
% Układ rownan rozniczkowych
xdot=zeros(2,1);
xdot(1)=x(2);
xdot(2)=(-2*x(1)-1*x(2)+4);
· wprowadzamy parametry wejściowe i wywołujemy funkcje ode45:
function rozw1a
t0=0;
clc
disp('Funkcja rozwiazuje rownanie rozniczkowe zwyczajne metodą ');
disp('Rungego - Kutty i podaje jego interpretacje graficzna:');
disp(' ');disp('Postac rownania:');disp(' ');
disp(' y``+ y`+ 2y = 4');
disp(' warunki początkowe:');
y01=0
y02=0
tk=input ('Podaj czas symulacji tk = ');
% przyjąłem tk=10
y0=[y01 y02];
[t,x]=ode45('funkcja1a',t0,tk,y0,0.001,0);
plot(t,x(:,1),'r-');
xlabel('czas [s]');ylabel('amplituda sygnalu');
title('Wykres rozwiazania rownania rozniczkowego y``+ y`+ 2y = 4');
grid;
· w wyniku wywołania powyższego m-pliku otrzymujemy wykres który jest rozwiązaniem pierwszego równania:
· To samo równanie różniczkowe rozwiązujemy przy pomocy Simulinka. W pierwszym kroku budujemy układ.
· W wyniku symulacji otrzymujemy następujący przebieg:
b.) dla war. początkowych: y(0)=1 i y’(0)=1
· Z drugim równaniem postępujemy analogicznie, przekształcamy powyższe równanie do postaci równań stanu:
function xdot=funkcja1b(t,x)
xdot(2)=(-0.5*x(1)-1.5*x(2)+4);
function rozw1b
disp(' 2y``+ 3y`+ y = 4');
y01=1
y02=1
[t,x]=ode45('funkcja1b',t0,tk,y0,0.001,0);
title('Wykres rozwiazania rownania rozniczkowego 2y``+ 3y`+ y = 4');
· w wyniku wywołania powyższego m-pliku otrzymujemy wykres który jest rozwiązaniem drugiego równania:
2.2 Skonstruować w Simulinku modele równań różniczkowych:
· transmitancja powyższego równania i równania stanu mają następującą postać:
· równaniu a.) odpowiada następujący schemat blokowy zbudowany w oparciu o transmitancje i wykres uzyskany w wyniku symulacji:
· kolejny schemat blokowy tworzymy w oparciu o równania stanu, w wyniku symulacji otrzymujemy następujący przebieg:
b.) dla war. początkowych: y(0)=0 i y’(0)=0
· równaniu b.) odpowiada następujący schemat blokowy zbudowany w oparciu o transmitancje i wykres uzyskany w wyniku symulacji:
2.3 Rozwiązać równania różniczkowe wykorzystując funkcje ode45 i porównać z rozwiązaniami analitycznym.
a.) ...
oxide90