sprawozdanie z pa1


AKADEMIA

GÓRNICZO - HUTNICZA

im. Stanisława Staszica w Krakowie

0x01 graphic

Wydział:

Inżynierii Mechanicznej i Robotyki

Laboratorium: PODSTAW AUTOMATYKI

Prowadzący:

Mgr. inż. Sławomir Skrzyniarz

Student:

Łukasz Kafel

Wojciech Kochański

Kierunek: Mechatronika

Ocena:

Grupa: 25

Rok: D

TEMAT ĆWICZENIA:

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

  1. Cele ćwiczenia

Celem naszego ćwiczenia jest zapoznanie się z różnymi metodami rozwiązywania równań różniczkowych w MATLAB'ie: metodami analitycznymi realizowanymi przez m-funkcję oraz przez wykorzystanie SIMULINK'a jako pakietu w którym zamodelujemy układ rozwiązujący równania różniczkowe.

  1. Zadanie: Rozwiązać poniższe równania różniczkowe:

2.1 - 0x01 graphic

przy następujących warunkach początkowych: 0x01 graphic
,0x01 graphic

2.2 - 0x01 graphic

przy następujących warunkach początkowych: 0x01 graphic
,0x01 graphic

Obydwa równania rozwiązaliśmy analitycznie wykorzystując funkcję ode45 oraz modelowanie w simulinku. Następnie porównliśmy otrzymane wyniki.

Zajmijmy się równaniem 2.1

Rozwiązanie analityczne rozpoczęliśmy od stworzenia m-pliku o nazwie funkcja_blasqcyber1.m w którym wpisaliśmy następujący kod:

function xdot=funkcja_blasqcyber1(t,x)

xdot=zeros(2,1);

xdot(1)=x(2);

xdot(2)=(-22*x(1)-2*x(2));

W drugim etapie rozwiązywania stworzyliśmy drugi m-plik o nazwie rozwiązanie blasqcyber1.m w którym, wprowadziliśmy (podany poniżej kod) parametry wejściowe, wywołaliśmy funkcję ode45 i narysowaliśmy zamieszczony poniżej wykres rozwiązania:

function rozwiazanie_blasqcyber1

t0=0;

clc

disp('funkcja rozwiazuje rownanie rozniczkowe zwyczajne metoda ');

disp('rudego kutego i podaje jego interpretacje graficzna: ');

disp(' ');

disp('postac rownania: ');

disp(' ');

disp('x``+2*x`+22x=0');

x01=input('podaj wartosc x01 = ');

x02=input('podaj wartosc x02 = ');

tk=input('podaj czas symulacj tk= ');

x0=[x01,x02];

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

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

xlabel('czas [s]');

ylabel('amplituda sygnalu');

title('wykres rozwiazania rownania rozniczkowego');

grid;

Po wpisaniu w command window MATLAB'a wywołania funkcji rozwiązanie_blasqcyber1 otrzymaliśmy następujący wykres:

0x01 graphic

Rozwiązanie powyższego równania w module SIMULINK rozpoczniemy od zamodelowania układu różniczkującego przedstawionego poniżej:

0x01 graphic

Ustalając odpowiednio warunki początkowe na obu integratorach oraz blokach gain, w wyniku symulacji otrzymujemy następujący wykres:

0x01 graphic

W którym tak jak dla metody analitycznej na osi x mamy czas w [s] natomiast na osi y mamy amplitudę sygnału

Przechodzimy do równania 2.2

Rozwiązanie analityczne rozpoczęliśmy jak poprzednio od stworzenia m-pliku o nazwie funkcja_blasqcyber2.m w którym wpisaliśmy następujący kod:

function ydot=funkcja_blasqcyber2(t,y)

ydot=zeros(2,1);

ydot(1)=y(2);

ydot(2)=(-5*y(1)-2*y(2));

W drugim etapie rozwiązywania stworzyliśmy drugi m-plik o nazwie rozwiązanie blasqcyber2.m w którym, podanym poniżej wprowadziliśmy parametry wejściowe, wywołaliśmy funkcję ode45 i narysowaliśmy zamieszczony poniżej wykres rozwiązania:

function rozwiazanie_blasqcyber2

t0=0;

clc

disp('funkcja rozwiazuje rownanie rozniczkowe zwyczajne metoda ');

disp('rudego kutego i podaje jego interpretacje graficzna: ');

disp(' ');

disp('postac rownania: ');

disp(' ');

disp('2y``+4*y`+10y=0');

y01=input('podaj wartosc y01 = ');

y02=input('podaj wartosc y02 = ');

tk=input('podaj czas symulacj tk= ');

y0=[y01,y02];

[t,y]=ode45('funkcja_blasqcyber2',t0,tk,y0,0.001,0);

plot(t,y(:,1),'r-');

xlabel('czas [s]');

ylabel('amplituda sygnalu');

title('wykres rozwiazania rownania rozniczkowego');

grid;

Po wpisaniu w command window MATLAB'a wywołania funkcji rozwiązanie_blasqcyber2 otrzymaliśmy następujący wykres:

0x01 graphic

Rozwiązanie powyższego równania w module SIMULINK rozpoczniemy od zamodelowania układu różniczkującego przedstawionego poniżej:

0x01 graphic

W którym tak jak dla metody analitycznej na osi x mamy czas w [s] natomiast na osi y mamy amplitudę sygnału

Z rozwiązania powyższych równań obydwoma metodami możemy wysunąć następujące wnioski:

  1. Zadanie: Skonstruować w SIMULINK'u modele poniższych równań różniczkowych oraz zarejestrować i porównać odpowiedź skokową układu, gdy sygnałem wejściowym jest sygnał o amplitudzie równej jedności:

3.1 0x01 graphic

dla następujących warunków początkowych: 0x01 graphic
,0x01 graphic

3.2 0x01 graphic

dla następujących warunków początkowych: 0x01 graphic
,0x01 graphic

Rozpoczniemy od zamodelowania równania 3.1 przy użyciu bloku transmitancji operatorowej, oto nasz model:

0x01 graphic

Przyjmując odpowiednie parametry bloku transmitancji oraz skoku jednostkowego o amplitudzie równej jedności otrzymujemy następujący wykres:

0x01 graphic

Następnie modelujemy równania stanu i wyjścia, schemat przedstawiono poniżej:

0x01 graphic

Przyjmując odpowiednie parametry symulacji otrzymujemy poniższy wykres:

0x01 graphic

Następnym etapem jest zamodelowanie równania 3.2 przy użyciu bloku transmitancji operatorowej, oto nasz model:

0x01 graphic

Przyjmując odpowiednie parametry bloku transmitancji oraz skoku jednostkowego o amplitudzie równej jedności otrzymujemy następujący wykres:

0x01 graphic

Następnie modelujemy równania stanu i wyjścia, schemat przedstawiono poniżej:

0x01 graphic

Przyjmując odpowiednie parametry symulacji otrzymujemy poniższy wykres:

0x01 graphic

Wniosek:

Rozwiązania otrzymane obydwoma sposobami (równaniu z transmitancją operatorową jak i równaniem stanu i wyjścia) są identyczne

  1. Zadanie: Dla równania z punktu 3.1 stworzyć schemat blokowy, wykres rozwiązania sporządzić korzystając z kodów ASCII

0x01 graphic

W przestrzeni roboczej została utworzona macierz o nazwie wynik, zawierająca trzy wektory zmiennych: czas symulacji, wymuszenie, oraz odpowiedź skokową układu.

Wykres z modułu scope wygląda następująco:

0x01 graphic

Po wpisaniu komendy save simeout -ascii nasza macierz wynikowa zostanie zapisana na dysku.

Następnie po wpisaniu następujących komend:

>> t=simout(:,1)

>> u=simout(:,2)

>> y=simout(:,3)

>> plot(t,u,'r',t,y,'g')

W wyniku uzyskujemy poniższy wykres:

0x01 graphic

Zadanie zostało wykonane stosując inny sposób wizualizacji wyniku

  1. Rozwiązać równania różniczkowe wykorzystując funkcję ode45

5.1 0x01 graphic

dla następujących warunków początkowych: 0x01 graphic
,0x01 graphic

5.2 0x01 graphic

dla następujących warunków początkowych: 0x01 graphic
,0x01 graphic

Równanie 5.1

Rozwiązanie analityczne

0x01 graphic
przy danych warunkach początkowych 0x01 graphic
/ 0x01 graphic

Równanie charakterystyczne będzie miało następującą postać:

0x01 graphic

Wyróżnik trójmianu kwadratowego Δ przyjmie postać:

0x01 graphic
, 0x01 graphic

Pierwiastki następująco

0x01 graphic
, 0x01 graphic
, 0x01 graphic

Otrzymamy związki:

0x01 graphic
, 0x01 graphic

W naszym przypadku:

0x01 graphic
, 0x01 graphic

Całka ogólna równania jednorodnego przyjmie postać:

0x01 graphic

Po zróżniczkowaniu

0x01 graphic

Po wstawieniu do CORJ warunku początkowego 0x01 graphic
otrzymamy:

0x01 graphic
, 0x01 graphic

Po wstawieniu do różniczki CORJ warunku początkowego 0x01 graphic
otrzymujemy:

0x01 graphic

Stąd 0x01 graphic

Ostateczne rozwiązanie równania przyjmie postać następującą:

0x01 graphic
Rozwiązanie mfunkcją

0x01 graphic

Rozwiązanie modułem SIMULINK

0x01 graphic

Równanie 5.2

Rozwiązanie analityczne

0x01 graphic
przy danych warunkach początkowych 0x01 graphic
/ 0x01 graphic

Równanie charakterystyczne będzie miało następującą postać:

0x01 graphic

Wyróżnik trójmianu kwadratowego Δ przyjmie postać:

0x01 graphic
, 0x01 graphic

Pierwiastki następująco

0x01 graphic
, 0x01 graphic

Otrzymamy związki:

0x01 graphic
, 0x01 graphic
, 0x01 graphic

W naszym przypadku:

0x01 graphic
, 0x01 graphic

Całka ogólna równania jednorodnego przyjmie postać:

0x01 graphic

Po zróżniczkowaniu

0x01 graphic

Po wstawieniu do CORJ warunku początkowego 0x01 graphic
otrzymamy:

0x01 graphic
, 0x01 graphic

Po wstawieniu do różniczki CORJ warunku początkowego 0x01 graphic
otrzymujemy:

0x01 graphic
, 0x01 graphic

Czyli 0x01 graphic

Stąd 0x01 graphic

Ostateczne rozwiązanie równania przyjmie postać następującą:

0x01 graphic

Rozwiązanie mfunkcją

0x01 graphic

Rozwiązanie modułem SIMULINK

0x01 graphic



Wyszukiwarka

Podobne podstrony:
2 definicje i sprawozdawczośćid 19489 ppt
PROCES PLANOWANIA BADANIA SPRAWOZDAN FINANSOWYC H
W 11 Sprawozdania
Wymogi, cechy i zadania sprawozdawczośći finansowej
Analiza sprawozdan finansowych w BGZ SA
W3 Sprawozdawczosc
1 Sprawozdanie techniczne
Karta sprawozdania cw 10
eksploracja lab03, Lista sprawozdaniowych bazy danych
2 sprawozdanie szczawianyid 208 Nieznany (2)
Fragmenty przykładowych sprawozdań
Lab 6 PMI Hartownosc Sprawozdan Nieznany
Mikrokontrolery Grodzki Sprawoz Nieznany
biochemia sprawozdanie O (1)
Chemia fizyczna sprawozdanie (6 1) id 112219
201 sprawozdanie finansoweid 26953
Czarne orly sprawozdanie2

więcej podobnych podstron