Akademia Górniczo-Hutnicza
im. Stanisława Staszica w Krakowie
WYDZIAŁ INŻYNIERII MECHANICZNEJ I ROBOTYKI
LABOLATORIUM Z PODSTAW AUTOMATYKI
SPRAWOZDANIE
Laboratorium nr 1
Temat: Rozwiązywanie równań różniczkowych
z niezerowymi warunkami początkowymi.
Wykonał:
Damian Kubik
Rok 2, Grupa 4b
Rok akademicki: 2010/11
Cel ćwiczenia:
· Zapoznanie się z metodami symbolicznego i numerycznego rozwiązywania równań różniczkowych w Matlabie.
· Wykorzystanie Simulinka do tworzenia modelu równania różniczkowego,
· Archiwizacja danych.
1. Rozwiązanie równania różniczkowego:
przy warunkach początkowych: y(0)=3, y’(0)=0
za pomocą funkcji dsolve().
m-plik
syms x, y; % definicja zmiennych symbolicznych ‘x’ i ‘y’
x = dsolve(‘D2y + 2*Dy + 5*y = 0’ , y(0)=3’ , ‘Dy(0)=0’); % rownanie, warunki początkowe
pretty(x); % wypisanie rozwiązania
t=0:0.01:9.99; % definicja wektora czasu
w=subs(x); % wartość liczbowa ‘x’ wyliczona poprzez
% podstawienie zdef. Wczesniej wektora ‘t’
plot(t,w,’r-‘); % narysowanie wykresu
xlabel(‘czas[s]’);
ylabel(‘amplituda sygnalu’);
title(‘wykres rozwiązania’);
grid;
2. Rozwiązanie równania różniczkowego:
za pomocą funkcji ode45.
plik: funkcja.m
function xdot = funkcja (t,y)
xdot = zeros (2,1);
xdot(1)= x(2);
xdot(2) = (-5*x(1)-2*x(2));
plik: rozwiazanie.m
function rozwiazanie
t0=0;
clc
disp (‘Funkcja rozwiązuje rownanie rozniczkowe zwyczajnie metodą’);
disp(‘Rungego – Kutty i podaje jego interpretacje graficzna:’);
disp(‘Postac równania: x’’ + 2x’ + 5x = 0’);
x01=input (‘Podaj wartość x01 = ’);
x02=input (‘Podaj wartość x02 = ’);
tk=input (‘Podaj czas symulacji tk = ’);
x0=[x01 x02];
[t,x]=ode45(‘funkcja’ , t0,tk, x0 , 0.001,0);
plot(t,x(:,1),’g-’);
xlabel(‘czas [s]’);
title(‘wykres rozwiazania’);
3. Rozwiązanie równania różniczkowego:
przy pomocy pakietu Simulink.
4. Wnioski:
W programach MatLab oraz Simulink możemy rozwiązywać równania różniczkowe o wiele sprawniej niż ręcznie metodami analitycznymi.
Korzystając ze zmiennych symbolicznych i funkcji dsolve() możliwe jest rozwiązanie równania różniczkowego dowolnego rzędu. W Wyniku otrzymujemy równanie matematyczne oraz wykres funkcji. Funkcja ode45 rozwiązuje zagadnienie początkowe dla równań zwyczajnych rzezu 4 i 5 za pomocą np. metod Rungego-Kutty. Wynikiem jest wykres. Dzięki programowi Simulink możemy w łatwy sposób budować schematy blokowe a następnie na podstawie wykresu obserwować przebieg sygnału
Rozwiązanie za pomocą Simulinka jest obarczone największym błędem .
oxide90