Sprawozdanie Lab1


Wydział Inżynierii Mechanicznej i Robotyki
PODSTAWY AUTOMATYKI  LABORATORIUM
Temat ćwiczenia:
ROZWIZYWANIE RÓWNAC RÓŻNICZKOWYCH Z NIEZEROWYMI
WARUNKAMI POCZTKOWYMI
Bartosz Kotłowski grupa 14
Przebieg ćwiczenia:
1. Rozwiązanie równania 2x +3x +x=6, x(0)=2, x (0)=(-1) z wykorzystaniem funkcji
programu Matlab: dsolve()
%% Rozwiązanie równania różniczkowego metodą dsolve()
% Równanie różniczkowe: 2x +3x +x=6, x(0)=2, x (0)=(-1)
clear all; % czyszczenie pamięci
close all; % zamykanie okien
clc; % czyszczenie okna komend Matlaba
tic % uruchomienie zegara mierzącego czas wykonywania programu
syms x y; % definiowanie zmiennych symbolicznych
y=dsolve('2*D2x+3*Dx+x=6' , 'x(0)=2' , 'Dx(0)=-1');% wprowadzenie
% parametrów równania i warunków początkowych
pretty(y) % wypisanie rozwiązania w oknie komend Matlaba
t=0:0.01:9.99; % zdefiniowanie wektora czasowego t
w=subs(y); % podstawienie wektora czasowego t do równania y
plot(t,w,'b'); % wykres rozwiązania w funkcji czasu
title('Wykres rozwiązania rownania rozniczkowego'); %tytułu wykresu
xlabel('Czas [s]'); % podpisanie osi X
ylabel('Amplituda sygnału'); % podpisanie osi Y
grid; % naniesienie siatki na wykres
a = toc % wyświetlenie czasu działania programu i zapisanie go
% w zmiennej a
Wykres rozwiązania dla metody dsolve() :
2. Rozwiązanie równania 2x +3x +x=6, x(0)=2, x (0)=(-1) z wykorzystaniem funkcji
programu Matlab: ode45()
M-pliki wykorzystane do rozwiązania równania przy pomocy funkcji ode45
%% Rozwiązanie równania różniczkowego metodą ode45()
% Równanie różniczkowe: 2x +3x +x=6, x(0)=2, x (0)=(-1)
%M-pliki wykorzystane do rozwiązania równania przy pomocy funkcji ode45
ode.m (zapisujemy postać równania  jako równania stanu)
function xdot=ode(t,x) % funkcja o nazwie ode, do której
% dostarczane są zmienne t oraz x, natomiast zwracana jest wartość
% xdot, plik należy zapisać pod nazwą ode.m
xdot=zeros(2,1);% zdefiniowanie obszaru pamięci przy użyciu
% macierzy wypełnionej zerami o rozmiarze 2x1, bez tego program
% zwróci błąd, gdyż w pierwszym kroku nie będzie wiedział skąd
% odczytać i gdzie zapisać dane
xdot(1)=x(2); % definiujemy x1' = x2
xdot(2)=(3- (3/2)*x(2) - x(1) /2); % definiujemy x2' = 3 -3/2*x2  x1/2
%Plik główny
%% Rozwiązanie równia różniczkowego przy pomocy komendy ode45()
% Równanie różniczkowe takie jak w przykładzie 1
%%
x01 = 2; % pierwszy warunek początkowy x(0) = 2
x02 = (-1); % drugi warunek początkowy x'(0) = -1
war_pocz = [x01 x02]; % łączymy warunki początkowe w jeden wektor
%%
[T,W] = ode45('ode',t,war_pocz); % wywołanie funkcji ode45()
% do rozwiązania równania różniczkowego zapisanego w pliku ode.m
%%
plot(T,W(:,1),'r'); % wyrysowanie pierwszej kolumny macierzy X
% w funkcji T opcja 'r' oznacza, że wykres będzie czerwony
title('Wykres rozwiązania rownania rozniczkowego'); % nadanie tytułu
xlabel('Czas [s]'); % podpisanie osi X
ylabel ('Amplituda sygnału'); % podpisanie osi Y
grid; % naniesienie siatki na wykres
b=toc % wyświetlenie czasu działania programu i zapisanie
% go w zmiennej b
Wykres rozwiązania dla metody ode45():
3. Rozwiązanie równania 2x +3x +x=6, x(0)=2, x (0)=(-1)
z wykorzystaniem Simulinka:
sim('model.mdl');
plot(wynik(:,2),wynik(:,1),'g');
Model schematu blokowego oraz jego wykres:
4. Jeżeli użyjemy funkcji hold on, hold off możemy zobaczyć wykres równania
różniczkowego uzyskanego przez dsolve(kolor niebieski), ode45(kolor czerwony) oraz
simulinka(kolor zielony).
W powiększeniu ten sam wykres (aby zobaczyć delikatną różnicę, która jest w tym
przypadku bardzo mała)
Wnioski:
Dzięki zastosowaniu programu Matlab rozwiązywanie równań różniczkowych staje się
znacznie prostsze oraz mniej pracochłonne.
Co więcej, program Simulink umożliwia nam budowanie schematów blokowych, oraz
obserwowanie przebiegów sygnału odpowiedzi układu o danej transmitancji na zadany
sygnał wymuszenia.


Wyszukiwarka

Podobne podstrony:
Sprawozdanie Lab1 gr7B
gk sprawozdanie lab1
sprawozdanie lab1
Sprawozdanie Java Lab1 Karol Leszczyński gr 13
tou lab1 sprawozdanie (1)
Lab1 Sprawozdanie
Lab1 sprawozdanie
Sprawozdanie AIM LAB1 Piotrowski
Sprawozdanie Nsst LAB1 KACZMAREK (1)
Lab1 Sprawozdanie DW
lab1 sprawozdanie
Lab1 RoboWorks
sprawozdanie felixa2
Sprawozdanie Konduktometria
zmiany w sprawozdaniach fin

więcej podobnych podstron