• Nie Znaleziono Wyników

Laboratorium nr 1

N/A
N/A
Protected

Academic year: 2021

Share "Laboratorium nr 1"

Copied!
5
0
0

Pełen tekst

(1)

Laboratorium nr 1

1. Cele ćwiczenia

• zapoznanie si z metodami symbolicznego i numerycznego rozwizywania równaniczkowych w Matlabie,

• wykorzystanie Simulinka do tworzenia modelu równania róniczkowego,

• archiwizacja otrzymanych rozwiza 2. Wprowadzenie teoretyczne

2.1. Symboliczne rozwizywanie równaniczkowych – funkcja dsolve()

Rozwizywanie symboliczne polega na obliczeniach wykonywanych na wyraeniach matematycznych, a nie na liczbach (rozwizanie numeryczne), w wyniku czego dostajemy równie wyraenie matematyczne. Przy pomocy zmiennych symbolicznych oraz przy wykorzystaniu funkcji dsolve() moliwe jest rozwizanie równania róniczkowego dowolnego rz du.

W rozwizywaniu symbolicznym równaniczkowych najwaniejsza jest zmienna D (due D), która okrela róniczk pierwszego stopnia (

ddt

D= ), podobnie D2 oznacza róniczk drugiego stopnia

(

2

2 2

dt

D =d ) itd. Funkcja dsolve() domylnie róniczkuje po czasie.

Za pomoc funkcji dsolve() moliwe jest równie rozwizywanie układu równaniczkowych jak i okrelanie warunków pocztkowych. Kolejne równania podajemy po przecinkach, a po nich warunki pocztkowe, równie oddzielone przecinkami:

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

Przykład 1:

Rozwiza równanie róniczkowe

0 2

2

3

2

= +

+ x

dt dx dt

x

d

przy war. pocz.

x ( ) 0 = 0

,

( 0 )

=

2

dt

dx

wykorzystujc funkcj dsolve().

Rozwizanie: 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 pocztkowymi pretty(y); % wypisanie rozwizania

t=0:0.01:9.99; % definicja wektora czasu w=subs(y); % warto



liczbowa ‘y’ wyliczona poprzez podstawienie % zdefiniowanego wczeniej wektora ‘t’

plot(t,w,'r-'); % narysowanie wykresu xlabel('czas[s]');

ylabel('amplituda sygnalu');

title('Wykres rozwiazania rownania rozniczkowego');

grid;

Rozwizanie równania róniczkowego w postaci wyraenia matematycznego oraz wykresu otrzymujemy wywołujc w oknie komend MATLABA funkcj >> rozw1

(2)

2.2. Numeryczne rozwizywanie równaniczkowych – funkcja ode()

MATLAB zawiera funkcje rozwizujce zagadnienie pocztkowe dla równaniczkowych 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 rozwizuj zagadnienie pocztkowe dla układów równa zwyczajnych postaci:

( )

t

,

x

,

x

(

t0

)

x0

dt F

dx = =

Składnia funkcji:

[T, X] = ode23 (‘F(t, x)’, [t0 tk], x0, tol, tr) [T, X] = ode45 (‘F(t, x)’, [t0 tk], x0, tol, tr) Kolejne parametry wejciowe oznaczaj:

• pierwszym parametrem musi by łacuch zawierajcy nazw zdefiniowanej przez uytkownika funkcji zwracajcej wartoci F(t, x),

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

• x0 - okrela warunek pocztkowy - wektor kolumnowy zawierajcy warto rozwizania układu w chwili pocztkowej,

• tol - opcjonalny parametr okrelajcy wymagan dokładno; domylnie: 0.001,

• tr - opcjonalny parametr, który jeli ma warton od zera, to powoduje wypisanie kolejnych kroków działania metody na ekranie.

Wartoci omawianych funkcji jest macierz X zawierajca umieszczone wierszowo wektory reprezentujce wartoci rozwizania w punktach okrelonych odpowiednimi elementami wektora kolumnowego t, który jest jedn z wartoci funkcji ode23 i ode45.

Przykład 2:

Rozwiza równanie róniczkowe z przykładu 1 wykorzystujc funkcj ode45.

Rozwizanie: Do rozwizania 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 wejciowe, wywołujemy funkcj ode45 i rysujemy wykres rozwizania:

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 = ');

x0=[x01 x02];

[t,x]=ode45('funkcja',t0,tk,x0,0.001,0);

(3)

plot(t,x(:,1),'g-');

xlabel('czas [s]');ylabel('amplituda sygnalu');

title('Wykres rozwiazania rownania rozniczkowego');

grid;

Rozwizanie równania róniczkowego, w postaci wykresu, otrzymujemy wywołujc w oknie komend MATLABA funkcj >> rozw2

2.3. Rozwizywanie równaniczkowych przy pomocy pakietu Simulink Przykład 3:

Rozwiza równanie róniczkowe z przykładu 1 wykorzystujc model zbudowany w Simulinku.

Rozwizanie: Wprowadzajc 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 poniszy model:

Ustalajc warunki pocztkowe na obu integratorach (Int1 i Int2) oraz dobierajc odpowiednie parametry symulacji, w wyniku otrzymujemy wykres rozwizania:

0 2 4 6 8 10

0 0.1 0.2 0.3 0.4 0.5

czas [s]

W ykres rozwiazania równania rózniczkowego

Takie same wykresy rozwi zania równania róniczkowego mona uzyska w punktach 2.1 i 2.2 1/s

Int2

1/s Int1

x(t) +

+ Sum

-3 a1

-2 a0 x2

&

x2 X1

(4)

Przykład 4:

Skonstruowa w Simulinku model równania róniczkowego

0 ) 0 ( ) 0 ( pocz.

war.

dla , 3 2 6

2

5

2

+ + = + u y = y =

dt y du dt dy dt

y

d &

w postaci transmitancji operatorowej oraz w postaci równa stanu i równania wyjcia. Znale  odpowied skokow układu, gdy sygnałem wejciowym u(t) jest sygnał o amplitudzie równej jednoci.

Rozwizanie: Równaniu róniczkowemu (zapisanemu jako transmitancja) odpowiada schemat blokowy przedstawiony poniej:

Przyjmujc okrelone parametry symulacji otrzymujemy rozwizanie 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 poniszy schemat blokowy:

Ustalajc zerowe warunki pocztkowe na integratorach oraz dobierajc odpowiednie parametry symulacji otrzymujemy rozwizanie w postaci wykresu, jak poprzednio.

2.4. Archiwizacja uzyskanych rozwiza równaniczkowych na dysku Dla równania z przykładu 4 tworzymy poniszy 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+62 G(s)

Clock

y1 u1

2s+3 s +5s+62

G(s)

(5)

W przestrzeni roboczej Matlaba utworzona zostanie macierz o nazwie wynik, zawierajca trzy wektory zmiennych: czas symulacji, wymuszenie oraz odpowied skokowa układu. Aby zapisa t macierz na dysku naley wykona instrukcj :

>> save wynik –ascii

Poleceniem clear czycimy przestrze robocz a nast pnie wprowadzamy macierz wynik ponownie do przestrzeni roboczej z dysku:

>> load wynik –ascii

Ponowne wykrelenie uzyskanego rozwizania równania z przykładu 4 mona uzyska po wpisaniu nast pujcych 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

Rozwiza równania róniczkowe:

a) 2

2 4 0 , dla war. pocz. ( 0 ) 0 , ( 0 ) 1

2 + + y= y = y =−

dt dy dt

y

d &

b)

2

2

3 6 , dla war.pocz. y ( 0 ) 1 i y ( 0 ) 2

2

+ + y = = & = −

dt dy dt

y d

c) 2

3 0 , dla war. pocz. ( 0 ) 1 , ( 0 ) 0

2

+ + y = y = y =

dt dy dt

y

d &

d) 2

2 5 0 , dla war. pocz. ( 0 ) 3 , ( 0 ) 0

2

=

=

= +

+ y y y

dt dy dt

y

d &

e) 2

2 4 , dla war.pocz. y ( 0 ) 1 i y ( 0 ) 0

2

+ + y = = & =

dt dy dt

y d

f) 2

4 13 0 , dla war. pocz. ( 0 ) 1 , ( 0 ) 0

2 + + y= y = y =

dt dy dt

y

d &

g) 2

3 9 0 , dla war. pocz. ( 0 ) 0 , ( 0 ) 1

2 + + y= y = y =

dt dy dt

y

d &

wykorzystujc funkcj dsolve, funkcj ode45 oraz model równania przygotowany w Simulinku. Wykreli przebieg funkcji y(t) otrzymanej w kadym z trzech rozwiza i porówna otrzymane wyniki na jednym wykresie.

4. Sprawozdanie z przebiegu ćwiczenia

Na podstawie przeprowadzonych oblicze naley przygotowa sprawozdanie, które powinno zawiera rozwizania wybranego równania róniczkowego z punktu 3, wykorzystujce metod symboliczn, numeryczn oraz model równania w Simulinku. Poda wnioski kocowe.

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

Cytaty

Powiązane dokumenty

• Które reguły utworzą zbiór konfliktów jeśli mamy w pamięci podręcznej dane: green, blinking. • Wyjaśnij dlaczego dana reguła wchodzi do zbioru konfliktowego

Skonstruuj co najmniej dwa wykresy, jeden dla swojej najlepszej wersji mnożenia macierzy i drugi dla procedury dgemm z biblioteki MKL (jeśli ta ostatnia jest dostępna).. 5.

[r]

[r]

[r]

Zastosowania ca÷ ki

Wartość pakietu 500 (pięciuset) udziałów wchodzących w skład masy upadłości Krystyny Marszałkiewicz - osoby fizycznej nieprowadzącej działalności gospodarczej,

Znajdź rzut ośmiościanu, który jest prostokątem, ale nie