Podstwy automatyki - sprawozdanie z lab. 1.docx

(105 KB) Pobierz

AKADEMIA GÓRNICZO-HUTNICZA

im. Stanisława Staszica

w Krakowie

           

Agnieszka Mleczko

Grupa 13, AiR

 

 

 

 

 

 

 

 

Laboratorium z podstaw automatyki

 

SPRAWOZDANIE

 

Laboratorium nr 1

 

Temat:              Rozwiązywanie równań różniczkowych

z niezerowymi warunkami początkowymi

 

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 

 

 

 

1). Cel ćwiczenia:

a)    zapoznanie się z różnymi metodami rozwiązywania równań różniczkowych w Matlabie,

b)    wykorzystanie Simulinka do tworzenia modelu równania   różniczkowego,

c)     archiwizacja otrzymanych rozwiązań

 

2). Przebieg ćwiczenia:

Rozwiązanie równania różniczkowego

d2ydt2+ dydt+ 3y=0

dla y(0) = 1, y0= 0

 

a). Rozwiązanie wykorzystujące funkcję dsolve():

syms y x; % definicja zmiennych symbolicznych ‘x’ i ‘y’

x = dsolve('D2y + Dy + 3*y=0' , 'y(0)=1' , 'Dy(0)=0'); % równanie wraz z warunkami poczatkowymi

pretty(x); % wypisanie rozwiazania

t=0:0.01:9.99; % definicja wektora czasu

w=subs(x); % wartosc liczbowa ‘x’ 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;

 


C:\Users\agus\Documents\PrintScreen Files\ScreenShot003.bmp
Wykres rozwiązania (dla t=10[s]):

 

 

 

 

 

 

 

 

 

b). Rozwiązanie wykorzystujące funkcję ode45:

Zapisanie równania różniczkowego jako równanie stanu:

function ydot=funkcja(t,y)

% Układ rownan rozniczkowych

ydot=zeros(0,1);

ydot(1)=y(2);

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

 

Wprowadzenie parametrów wejściowych i wywołanie funkcji ode45:

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(' y'' + y +3y = 0');

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

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

tk=input ('Podaj czas symulacji tk = ');

y0=[y01 y02];

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

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

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

title('Wykres rozwiazania rownania rozniczkowego');

grid;

 

C:\Users\agus\Documents\PrintScreen Files\ScreenShot004.bmp

 

 

c). Rozwiązanie wykorzystujące Simulinka:

Model:

C:\Users\agus\Documents\PrintScreen Files\ScreenShot002.bmp

 

Wykres rozwiązania:

C:\Users\agus\Documents\PrintScreen Files\ScreenShot001.bmp

 

3). Wnioski:

Na podstawie przeprowadzonych symulacji możemy stwierdzić, że dla danego równania każda z metod daje identyczne rozwiązanie graficzne. W praktyce jednak metoda analityczna jest najdokładniejsza bowiem daje rzeczywisty wynik, pozostałe metody są metodami numerycznymi i dają wyniki obarczone pewnym błędem, zależnym od kroku całkowania.

Zgłoś jeśli naruszono regulamin