Adam Gburek
Marek Stochel
Inf. gr. I sek. 3
Laboratorium Modelowania Cyfrowego
„Matlab i Simulink”
Gliwice 09.04.1999r.
Wstęp
Celem zajęć laboratoryjnych było zapoznanie się ze środowiskiem do obliczeń
naukowo-technicznych „MATLAB” oraz z pakietem „SIMULINK” przeznaczonym do modelowania układów dynamicznych ciągłych lub dyskretnych.
Zapoznanie się z „MATLAB-em”
wprowadzenie macierzy A i B o wymiarach 4x3 do przestrzeni roboczej
» A=[1 2 3;4 5 6;7 8 9;10 11 12]
A =
1 2 3
4 5 6
7 8 9
10 11 12
» B = [0 0 0;1 1 1 ;2 2 2; 3 3 3]
B =
0 0 0
1 1 1
2 2 2
3 3 3
dodanie skalara do macierzy
» X=A+2
X =
3 4 5
6 7 8
9 10 11
12 13 14
mnożenie macierzy przez skalar
» X=A*2
X =
2 4 6
8 10 12
14 16 18
20 22 24
potęgowanie tablicowe X=A.^B - xij=aij^bij
» X=A.^B
X =
1 1 1
4 5 6
49 64 81
1000 1331 1728
transponowanie macierzy B
» B=B'
B =
0 1 2 3
0 1 2 3
0 1 2 3
mnożenie macierzy
» X=A*B
X =
0 6 12 18
0 15 30 45
0 24 48 72
0 33 66 99
utworzenie 4-ro elementowego wektora kolumnowego i przypisanie mu wartości III-ciej kolumny macierzy X
» Z=X(:,3)
Z =
12
30
48
66
zdefiniowanie nowych macierzy A i B
» A=[1,2,3;4,5,6;7,8,9]
A =
1 2 3
4 5 6
7 8 9
» B=[1;2;3]
B =
1
2
3
dzielenie macierzy (lewe), wynikiem jest rozwiązanie równania macierzowego AX=B, lub taka wartość X dla której wartość normy ||AX-B|| jest minimalna.
» X=A\B
X =
-0.2334
0.4667
0.1000
określenie błędu powyższego działania
» A*X-B
ans =
1.0e-015 *
-0.1110
0
0
prezentacja graficzna funkcji w postaci wykresu dwuwymiarowego
T=-2pi:pi/25:2*pi;
Sin(t)+tan(t)
prezentacja graficzna funkcji w postaci wykresu trójwymiarowego (wykreślenie powierzchni)
[X,Y] = meshgrid(-2:.2:2, -2:.2:2);
» Z = X .* sin(-X.^2 - Y.^2);
» mesh(Z)
Portret fazowy
Dla podanego układu drugiego rzędu określić portrety fazowe. Układ jest układem liniowym. (p1,p2<0)
y1'=y2
y2'=-0.000075y1-0.02y2
tmax=4000
Na podstawie równań oraz dostępnych bloczków tworzymy poniższy schemat operacyjny.
Definicja funkcji rysuj zawarta w pliku rysuj.m :
function rysuj(y10,y20)
[t,x]=rk45('zadb',1000,[y20;y10]);
plot(x(:,2),x(:,1));
Aby otrzymać całą rodzinę portretów fazowych napisaliśmy następujący skrypt:
axis([-10 10 -0.05 0.05]);
hold on;
for I=-10:10
rysuj(I,0.05);
rysuj(I,-0.05);
end
Po wywołaniu skryptu o powyższej treści otrzymaliśmy poniżej zamieszczony portret fazowy.
Wnioski
Otrzymany portret fazowy świadczy o poprawnym przeprowadzeniu doświadczenia. Pojawiający się węzeł jest węzłem stabilnym. Pierwiastki równania charakterystycznego są rzeczywiste i dodatnie (a>0, b>0, delta>0)
1
6