1 Rozwiązywanie równań różniczkowych z niezerowymi warunkami początkowymi

background image

Laboratorium Podstaw Automatyki

1

Laboratorium nr 1

Rozwiązywanie równań różniczkowych

z niezerowymi warunkami początkowymi

1. Cele

ć

wiczenia

zapoznanie si

ę

z metodami symbolicznego i numerycznego rozwi

ą

zywania równa

ń

ż

niczkowych w

Matlabie,

wykorzystanie Simulinka do tworzenia modelu równania ró

ż

niczkowego,

archiwizacja otrzymanych rozwi

ą

za

ń

2. Wprowadzenie teoretyczne

2.1.

Symboliczne rozwi

ą

zywanie równa

ń

ż

niczkowych – funkcja dsolve()

Rozwi

ą

zywanie

symboliczne

polega

na

obliczeniach

wykonywanych

na

wyra

ż

eniach

matematycznych, a nie na liczbach (rozwi

ą

zanie numeryczne), w wyniku czego dostajemy równie

ż

wyra

ż

enie matematyczne. Przy pomocy zmiennych symbolicznych oraz przy wykorzystaniu funkcji dsolve()

mo

ż

liwe jest rozwi

ą

zanie równania ró

ż

niczkowego dowolnego rz

ę

du.

W rozwi

ą

zywaniu symbolicznym równa

ń

ż

niczkowych najwa

ż

niejsza jest zmienna D (du

ż

e D), która

okre

ś

la ró

ż

niczk

ę

pierwszego stopnia (

dt

d

D

=

), podobnie D2 oznacza ró

ż

niczk

ę

drugiego stopnia

(

2

2

2

dt

d

D

=

) itd. Funkcja dsolve() domy

ś

lnie ró

ż

niczkuje po czasie.


Za pomoc

ą

funkcji dsolve() mo

ż

liwe jest równie

ż

rozwi

ą

zywanie układu równa

ń

ż

niczkowych jak

i okre

ś

lanie warunków pocz

ą

tkowych. Kolejne równania podajemy po przecinkach, a po nich warunki

pocz

ą

tkowe, równie

ż

oddzielone przecinkami:

dsolve(‘rownanie1’ , ‘rownanie2’ , … , ‘warunek 1’ , ‘warunek 2’);


Przykład 1:

Rozwi

ą

za

ć

równanie ró

ż

niczkowe

0

2

3

2

2

=

+

+

x

dt

dx

dt

x

d

przy war. pocz.

( )

0

0

=

x

,

2

)

0

(

=

dt

dx

wykorzystuj

ą

c funkcj

ę

dsolve().


Rozwi

ą

zanie: Tworzymy m-plik o nazwie rozw1.m

syms x y;

% definicja zmiennych symbolicznych ‘x’ i ‘y’

y = dsolve('D2x + 3*Dx + 2*x=0' , 'x(0)=0' , 'Dx(0)=2'); % równanie wraz z

% warunkami pocz

ą

tkowymi

pretty(y);

% wypisanie rozwi

ą

zania

t=0:0.01:9.99;

% definicja wektora czasu

w=subs(y);

% warto

ść

liczbowa ‘y’ wyliczona poprzez podstawienie

% zdefiniowanego wcze

ś

niej wektora ‘t’

plot(t,w,'r-');

% narysowanie wykresu

xlabel('czas[s]');
ylabel('amplituda sygnalu');
title('Wykres rozwiazania rownania rozniczkowego');
grid;

Rozwi

ą

zanie równania ró

ż

niczkowego w postaci wyra

ż

enia matematycznego oraz wykresu otrzymujemy

wywołuj

ą

c w oknie komend MATLABA funkcj

ę

>> rozw1

background image

Laboratorium Podstaw Automatyki

2

2.2.

Numeryczne rozwi

ą

zywanie równa

ń

ż

niczkowych – funkcja ode()

MATLAB zawiera funkcje rozwi

ą

zuj

ą

ce zagadnienie pocz

ą

tkowe dla równa

ń

ż

niczkowych

zwyczajnych za pomoc

ą

np. par metod Rungego-Kutty rz

ę

du 2 i 3 (funkcja ode23) oraz rz

ę

du 4 i 5 (funkcja

ode45).

Funkcje te rozwi

ą

zuj

ą

zagadnienie pocz

ą

tkowe dla układów równa

ń

zwyczajnych postaci:

( )

0

0

)

(

,

,

x

t

x

x

t

F

dt

dx

=

=

Składnia funkcji:

[T, X] = ode23 (‘F(t, x)’, [t0 tk], x0, options)

[T, X] = ode45 (‘F(t, x)’, [t0 tk], x0, options)


Kolejne parametry wej

ś

ciowe oznaczaj

ą

:

pierwszym parametrem musi by

ć

ła

ń

cuch zawieraj

ą

cy nazw

ę

zdefiniowanej przez u

ż

ytkownika funkcji

zwracaj

ą

cej warto

ś

ci F(t, x),

t0, tk - granice przedziału czasu, w którym poszukiwane jest rozwi

ą

zanie,

x0 - okre

ś

la warunek pocz

ą

tkowy - wektor kolumnowy zawieraj

ą

cy warto

ść

rozwi

ą

zania układu w

chwili pocz

ą

tkowej,

options – dodatkowe parametry, które mo

ż

na ustawi

ć

przy pomocy instrukcji odeset:

options = odeset(‘nazwa_parametru1’,wartosc1,’nazwa_parametru2’,wartosc2,…)

Warto

ś

ci

ą

omawianych funkcji jest macierz X zawieraj

ą

ca umieszczone wierszowo wektory reprezentuj

ą

ce

warto

ś

ci rozwi

ą

zania w punktach okre

ś

lonych odpowiednimi elementami wektora kolumnowego t, który jest

jedn

ą

z warto

ś

ci funkcji ode23 i ode45.


Przykład 2:

Rozwi

ą

za

ć

równanie ró

ż

niczkowe z przykładu 1 wykorzystuj

ą

c funkcj

ę

ode45.

Rozwi

ą

zanie: Do rozwi

ą

zania zadania przy pomocy funkcji ode45 wykorzystano dwa pliki. W pierwszym z

nich (funkcja.m) zapisujemy posta

ć

równania – jako równania stanu:

function xdot=funkcja(t,x)


% Układ rownan rozniczkowych

xdot=zeros(2,1);
xdot(1)=x(2);
xdot(2)=(-2*x(1)-3*x(2));

a w drugim (rozw2.m) wprowadzamy parametry wej

ś

ciowe, wywołujemy funkcj

ę

ode45 i rysujemy wykres

rozwi

ą

zania:

function rozw2


t0=0;

clc
disp('Funkcja rozwiazuje rownanie rozniczkowe zwyczajne metoda ');
disp('Rungego - Kutty i podaje jego interpretacje graficzna:');
disp(' ');disp('Postac rownania:');disp(' ');
disp(' x``+ 3•x`+ 2•x = 0');

x01=input ('Podaj wartosc x01 = ');
x02=input ('Podaj wartosc x02 = ');
tk=input ('Podaj czas symulacji tk = ');

czas_sym=[t0 tk];
war_pocz=[x01 x02];

[t,x]=ode45('funkcja',czas_sym,war_pocz);

background image

Laboratorium Podstaw Automatyki

3


plot(t,x(:,1),'g-');
xlabel('czas [s]');ylabel('amplituda sygnalu');
title('Wykres rozwiazania rownania rozniczkowego');
grid;


Rozwi

ą

zanie równania ró

ż

niczkowego, w postaci wykresu, otrzymujemy wywołuj

ą

c w oknie komend

MATLABA funkcj

ę

>> rozw2

2.3.

Rozwi

ą

zywanie równa

ń

ż

niczkowych przy pomocy pakietu Simulink


Przykład 3:

Rozwi

ą

za

ć

równanie ró

ż

niczkowe z przykładu 1 wykorzystuj

ą

c model zbudowany w Simulinku.


Rozwi

ą

zanie: Wprowadzaj

ą

c zmienne:

=

=

=

1

2

1

x

x

x

x

x

&

&


otrzymujemy układ równa

ń

:

=

=

=

=

1

2

2

2

1

2

3

2

3

x

x

x

x

x

x

x

x

&

&

&

&

&


na podstawie którego tworzymy poni

ż

szy model:


Ustalaj

ą

c warunki pocz

ą

tkowe na obu integratorach (Int1 i Int2) oraz dobieraj

ą

c odpowiednie parametry

symulacji, w wyniku otrzymujemy wykres rozwi

ą

zania:

0

2

4

6

8

10

0

0.1

0.2

0.3

0.4

0.5

czas [s]

Wykres rozwiazania równania rózniczkowego


Takie same

wykresy rozwi

ą

zania równania ró

ż

niczkowego mo

ż

na uzyska

ć

w punktach 2.1 i 2.2

1/s

Int2

1/s

Int1

x(t)

+
+

Sum

-3

a1

-2

a0

x

2

&

x

2

X

1

background image

Laboratorium Podstaw Automatyki

4

Przykład 4:

Skonstruowa

ć

w Simulinku model równania ró

ż

niczkowego

0

)

0

(

)

0

(

pocz.

war.

dla

,

3

2

6

5

2

2

=

=

+

=

+

+

y

y

u

dt

du

y

dt

dy

dt

y

d

&

w postaci transmitancji operatorowej oraz w postaci równa

ń

stanu i równania wyj

ś

cia. Znale

źć

odpowied

ź

skokow

ą

układu, gdy sygnałem wej

ś

ciowym u(t) jest sygnał o amplitudzie równej jedno

ś

ci.


Rozwi

ą

zanie: Równaniu ró

ż

niczkowemu (zapisanemu jako transmitancja) odpowiada schemat blokowy

przedstawiony poni

ż

ej:

Przyjmuj

ą

c okre

ś

lone parametry symulacji otrzymujemy rozwi

ą

zanie w postaci wykresu.


Równaniu ró

ż

niczkowemu zapisanemu jako

+

=

+

=

=

2

1

2

1

2

2

1

2

3

5

6

x

x

y

u

x

x

x

x

x

&

&

odpowiada poni

ż

szy schemat blokowy:

Ustalaj

ą

c zerowe warunki pocz

ą

tkowe na integratorach oraz dobieraj

ą

c odpowiednie parametry symulacji

otrzymujemy rozwi

ą

zanie w postaci wykresu, jak poprzednio.

2.4.

Archiwizacja uzyskanych rozwi

ą

za

ń

równa

ń

ż

niczkowych na dysku


Dla równania z przykładu 4 tworzymy poni

ż

szy schemat blokowy:

y

u

2

b1

3

b0

-5

a1

-6

a0

Sum1

Sum

1/s

Integrator1

1/s

Integrator

y1

u1

wynik

To Workspace

Mux

Mux1

Mux

Mux

2s+3

s +5s+6

2

G(s)

Clock

y1

u1

2s+3

s +5s+6

2

G(s)

background image

Laboratorium Podstaw Automatyki

5

W przestrzeni roboczej Matlaba utworzona zostanie macierz o nazwie wynik, zawieraj

ą

ca trzy wektory

zmiennych: czas symulacji, wymuszenie oraz odpowied

ź

skokowa układu. Aby zapisa

ć

t

ą

macierz na dysku

nale

ż

y wykona

ć

instrukcj

ę

:

>> save wynik –ascii


Poleceniem clear czy

ś

cimy przestrze

ń

robocz

ą

a nast

ę

pnie wprowadzamy macierz wynik ponownie do

przestrzeni roboczej z dysku:

>> load wynik –ascii


Ponowne wykre

ś

lenie uzyskanego rozwi

ą

zania równania z przykładu 4 mo

ż

na uzyska

ć

po wpisaniu

nast

ę

puj

ą

cych instrukcji:

>> t = wyniki(:,1) % Wektor czasu
>> u = wyniki(:,2) % Wektor wymuszenia
>> y = wyniki(:,3) % Wektor odpowiedzi
>> plot( t, u, 'r', t, y, 'g')
>> grid

3. Przebieg

ć

wiczenia

Rozwi

ą

za

ć

równania ró

ż

niczkowe:

a)

1

)

0

(

,

0

)

0

(

pocz.

war.

dla

,

0

4

2

2

2

=

=

=

+

+

y

y

y

dt

dy

dt

y

d

&

b)

2

)

0

(

y

i

1

)

0

(

y

war.pocz.

dla

,

6

3

2

2

2

=

=

=

+

+

&

y

dt

dy

dt

y

d

c)

0

)

0

(

,

1

)

0

(

pocz.

war.

dla

,

0

3

2

2

=

=

=

+

+

y

y

y

dt

dy

dt

y

d

&

d)

0

)

0

(

,

3

)

0

(

pocz.

war.

dla

,

0

5

2

2

2

=

=

=

+

+

y

y

y

dt

dy

dt

y

d

&

e)

0

)

0

(

y

i

1

)

0

(

y

war.pocz.

dla

,

4

2

2

2

=

=

=

+

+

&

y

dt

dy

dt

y

d

f)

0

)

0

(

,

1

)

0

(

pocz.

war.

dla

,

0

13

4

2

2

=

=

=

+

+

y

y

y

dt

dy

dt

y

d

&

g)

1

)

0

(

,

0

)

0

(

pocz.

war.

dla

,

0

9

3

2

2

=

=

=

+

+

y

y

y

dt

dy

dt

y

d

&

wykorzystuj

ą

c funkcj

ę

dsolve, funkcj

ę

ode45 oraz model równania przygotowany w Simulinku. Wykre

ś

li

ć

przebieg funkcji y(t) otrzymanej w ka

ż

dym z trzech rozwi

ą

za

ń

i porówna

ć

otrzymane wyniki na jednym

wykresie.

4. Sprawozdanie z przebiegu

ć

wiczenia

Na podstawie przeprowadzonych oblicze

ń

nale

ż

y przygotowa

ć

sprawozdanie, które powinno zawiera

ć

rozwi

ą

zania wybranego równania ró

ż

niczkowego z punktu 3, wykorzystuj

ą

ce metod

ę

symboliczn

ą

,

numeryczn

ą

oraz model równania w Simulinku. Poda

ć

wnioski ko

ń

cowe.


Literatura

[1] Brzózka J.,

Ć

wiczenia z Automatyki w MATLABIE i SIMULINKU, Wydawnictwo Mikon, Warszawa 1997

[2] Tomera M., Wprowadzenie do MATLABA,

http://www.am.gdynia.pl/~tomera/teoria_ster.htm

, 2004

[3] Zalewski A., Cegieła R., MATLAB: obliczenia numeryczne i ich zastosowania, Wydawnictwo Nakom,

Pozna

ń

1996


Wyszukiwarka

Podobne podstrony:
Rozwiązywanie równań różniczkowych z niezerowymi warunkami początkowymi
METODY ROZWIĄZYWANIA RÓWNAŃ RÓŻNICZKOWYCH , RÓWNANIA RÓŻNICZKOWE JEDNORODNE WZGLĘDEM X i Y
chomik Wybrane modele ekologiczne oraz metody rozwiązywania równań różniczkowych zwyczajnych
Rownania rozniczkowe zwyczajne. Zagadnienia poczatkowe
Metody jednokrokowe rozwiązywania równań różniczkowych, aaa, studia 22.10.2014, całe sttudia, III se
Zestaw 8-Istnienie i jednoznacznosc rozwiazan równan rózniczkowych
2.1.3 Rozwiązywanie równań różniczkowych
MNiS Rozwiazywanie rownan rozniczkowych
Metody rozwiazywania równan rózniczkowych
metody rozwiazywania rownan rozniczkowych
Rozwiazywanie rownan rozniczkowych Przeksztalcenia Laplacea, Nauka i Technika, Automatyka, Teoria st

więcej podobnych podstron