Fragment notatki:
Politechnika Rzeszowska
Katedra Automatyki i Informatyki
M. Wysocki
Zastosowanie obliczeń komputerowych w systemie MATLAB w teorii sterowania
System MATLAB
Wprowadzenie
Podstawowe elementy języka systemu MATLAB
Działania na macierzach Instrukcja i wyrażenia
Operacje na elementach
Instrukcje i wyrażenia
Operacje na elementach macierzy Relacje
Operacje logiczne
Inne operatory
Formaty wydruków
Tworzenie wykresów
Instrukcje sterujące przebiegiem programu
Zachowanie wyników obliczeń na dysku
Uzupełnienia podstawowych informacji
2. Przykłady zastosowań w teorii sterowania
2.1 Wielomiany
2.2 Transmitancja operatorowa
2.3 Wyznaczanie odpowiedzi skokowej SYSTEM MATLAB
Wprowadzenie
1.1.1Informacje ogólne
System MATLAB umożliwia wygodne prowadzenie obliczeń matematycznych w zakresie różnych dyscyplin. Przydatność systemu uwidacznia się szczególnie w odniesieniu do problemów dotyczących teorii sterowania i teorii systemów. Obecnie system jest stale wzbogacany o nowe biblioteki procedur (TOOLBOX) obejmujące różne dziedziny jak sterowanie, przetwarzanie sygnałów, sieci neuronowe itd.
Uruchomienie systemu wymaga następującego zestawu komputera typu PC :
Minimum320kB pamięci operacyjnej
Przynajmniej jedna stacja dysków elastycznych
Koprocesor 8087, 80287 lub 80387
Zalecane jest też, aby zestaw posiadał dodatkowo:
Twardy dysk (MATLAB potrzebuje ok. 1,2 MB)
Większą pamięć operacyjną
Kartę graficzną SVGA
Rozpoczęcie pracy wymaga:
Odszukania katalogu zawierającego MATLAB (często odbywa się to automatycznie i jest realizowane przez system operacyjny )
Wprowadzenia z klawiatury polecenia uruchomienia systemu w postaci: MATLAB+Enter i poczekania na zgłoszenie się systemu przez wyświetlenie znaku „zaproszenia”:
Wyjście z systemu realizują instrukcje:
quit
exit
Podstawowe zasady pracy w systemie MATLAB
Duże i małe litery:
MATLAB rozróżnia duże i małe litery. Oznacza to, że np. A i a nie są tymi samymi zmiennymi. Wszystkie nazwy poleceń wprowadzanych po wyświetleniu na ekranie znaku „zaproszenia” muszą być pisane małymi literami. Instrukcją
(…)
… ilorazu wielomianów podaje się dwa wektory charakteryzujące te wielomiany.
Przykład 2.4
Rozważamy transmitancję: Powyższą transmitancję zapisuje się w MATLABie przez podanie dwóch wektorów, przedstawiających licznik i mianownik:
LG=[3 2 ] MG=[3 5 2 1].
UWAGA: LG można też zapisać jako [0 0 3 2]. Wtedy oba wektory mają jednakowe wymiary.
Rozkład na ułamki proste
Tansmitancję (lub transformatę Laplace'a) zapisaną w formie ilorazu wielomianów:
można również przedstawić wyodrębniając zera i bieguny. Ma ona wtedy postać:
z której przy założeniu jednokrotnych biegunów można otrzymać rozkład na ułamki proste postaci:
W typowym przypadku zachodzi nierówność n>m, tzn. rząd mianownika jest większy od rzędu licznika. Wtedy k(s)=0. W prze4ciwnym razie k(s) jest wielomianem takim, że L(s)/M(s)=L~(s)/M(s)+k(s), a stopień wielomianu L~(s)jest równy co najwyżej n-1. Liczby r1,...,rn, w ogólnym przypadku zespolone, są nazywane residuami. Jeśli bieguny transmitancji są jednokrotne można uzyskać jej rozkład na ułamki proste wykorzystując następującą instrukcję MATLABa:
[r,p,k] = residue(l,m)
Wektory r i p są kolumnowe. Zawierają one residua (wektor r) i odpowiadające im bieguny (wektor p).Wierszowy wektor k charakteryzuje wielomian - resztę. Wierszowe wektory l i m odnoszą się do licznika i mianownika.
Funkcję residue można wykorzystać w drugą stronę. Zapisujemy wtedy:
[l,m] = residue (r,p,k)
co powoduje przejście z ułamków prostych (2.3) do postaci wielomianowej (2.1). Znaczenie wektorów jest takie, jak poprzednio.
Wyznaczanie odpowiedzi skokowej W celu określenia odpowiedzi skokowej układu o podanej…
… zapis z dokładnością około 16 cyfr znaczących. Zakres liczb wynosi w granicach od 10-308 do 10308.
Liczby zespolone
Aby wprowadzić liczby zespolone, trzeba wprowadzić jednostkę urojoną
i=sqrt(-1) lub j=sqrt(-1) .
Zapisu dokonuje się następnie w zwykły sposób, np.
3+4*j lub 5*exp(j*2.5)
Zmienne systemowe o stałych wartościach
eps=2-52=2.22*10-16 - wartość używana jako tolerancja, np. przy ocenie…
… Enter wstawić przynajmniej dwie kropki „ .. ”. Puste miejsca wokół znaków = + - można wstawić dla przejrzystości zapisu. Należy jednak uważać w przypadku liczb zespolonych i rzeczywistych, np.
1 + 5*j - oznacza 2 liczby, a 1.23 e-4 jest błędem.
Operacje na elementach macierzy
Jeśli zamiast zwykłych operacji macierzowych wykorzystujących symbole * / \ ^ ` zapiszemy operacje używając tych samych symboli…
… elementach macierzy. Na przykład:
A=[1 4; 9 16 ], B=sqrt(A) powoduje B=[1 2 ; 3 4 ]
Spis funkcji matematycznych
abs wartość bezwzględna, moduł
sqrt pierwiastek kwadratowy
real część rzeczywista
imag część urojona
conj liczba zespolona sprzężona
round zaokrąglenie do najbliższej całkowitej
fix zaokrąglenie przez przesunięcie części ułamkowej
floor zaokrąglenie do najbliższej całkowitej (w dół)
ceil…
… funkcja wykładnicza o podstawie e
log logarytm naturalny
log10 logarytm dziesiętny
bessel funkcja Bessla
gamma funkcja gamma
rat aproksymacja wymierna { [a,b] = rat(pi) co daje a=355, b=113}
Przykład 1.3
Instrukcje A=[123;456],B=fix(pi*A),C=cos(pi*B), spowodują
A= , B= , C= Relacje
Występuje 6 operatorów relacji służących do porównywania dwóch macierzy jednakowych wymiarów:
< mniejszy niż
<= nie większy…
…: Gdy z jest wektorem zespolonym, plot(z) jest równoważne z plot(real(z),imag(z)).
Współrzędne logarytmiczne i biegunowe, oraz wykresy słupkowe
W miejsce instrukcji plot można wstawić następujące (zapisywane w identyczny sposób) instrukcje:
loglog wykres w skali log10-log10,
semilogx oś x w skali logarytmicznej (log10), oś y normalnie,
semilogy oś y w skali logarytmicznej (log10 ), oś x normalnie.
Wykres…
... zobacz całą notatkę
Komentarze użytkowników (0)