wichtige matlab befehle - control.ethz.chcontrol.ethz.ch/~rs/mlk/matbasic_commands.pdf · wichtige...
TRANSCRIPT
-
Institut fr Automatik, ETH Zrich WS 2002/03Prof. Dr. Manfred Morari 22.10.2002 D.N.
Wichtige Matlab Befehle
Hier nden Sie wichtige Matlab Befehle, welche fr das Lsen der bungen der Vorlesung Regelsystemevon Prof. Morari hilfreich sein knnen. Um eine genaue Beschreibung der Befehle zu erhalten, tippenSie einfach
help
in der Matlab Kommandozeile ein. Eine Einfhrung von Matlab nden Sie aufhttp://www.control.ethz.ch/education/lectures/lectures.msql Matlab-Kurs.
Matlab Hilfe benutzen
help Erzeugt einen Hilfetext zu einem bestimmten Befehllookfor Sucht in allen Matlab-Funktionen nach einem Schlsselworthelpwin net ein interaktives Hilfefenster
Matrizen Operationen
zeros Erzeugt eine Matrix oder Vektor, wobei alle Elemente den Wert 0 habenones Erzeugt eine Matrix oder Vektor, wobei alle Elemente den Wert 1 habendiag Erzeugt eine diagonal Matrix, deren Elemente vorgegeben werden knnen.eig Berechnet die Eigenwerte einer Matrix. Dieser Befehl kann z.B. verwendet werden um
die Eigenwerte der Systemmatrix A zu berechnen.condeig Berechnet die Konditionszahl fr die Eigenwerte einer Matrix.cond Berechnet die Konditionszahl fr die Invertierung einer Matrix.conv Berechnet die polynomial Multiplikation zweier Vektoren,
z.B. (a2s2 + a1s + a0)(b3s3 + b2s2 + b1s + b0).
Dynamische Systeme
Definieren von Systemen
tf Erzeugt ein System fr eine gegebene bertragungsfunktionss Erzeugt ein System fr eine gegebene Zustandsraumbeschreibungzpk Erzeugt ein System fr eine gegebene Pol-Nullstellen Darstellungfeedback Erzeugt ein neues System, welches rckgekoppelt ist.
1
-
Wichtige Matlab Befehle 2
Transformieren von Systemen
tf2zp Transformiert ein System von der bertragungsfunktionsdarstellung in die Pol-NullstellenDarstellung
ss2tf Transformiert ein System von der Zustandsraumdarstellung in diebertragungsfunktionsdarstellung
zp2ss Transformiert ein System von der Pol-Nullstellen Darstellung in dieZustandsraumdarstellung
zp2tf Transformiert ein System von der Pol-Nullstellen Darstellung in diebertragungsfunktionsdarstellung
c2d Transformiert ein zeitkontinuierliches System in ein zeitdiskretes System.d2c Transfomiert ein zeitdiskretes System in ein zeitkontinuierliches System
Simulieren und Plotten von Systemen
pzmap Zeichnet das Pol-Nullstellen Diagrammzero Berechnet die Nullstellen eines Systemspole Berechnet die Pole eines Systemsbode Zeichnet das Bodediagrammlogspace Erzeugt einen Vektor, dessen Elemente logarithmisch zunehmen. Dieser Befehl kann zur
Generierung des Frequenzvektors fr den Befehl Bode benutzt werden.nyquist Zeichnet das Nyquistdiagrammpulse Zeichnet die Impulsantwort eines Systemsstep Zeichnet die Schrittantwort eines Systemslsim Simuliert ein System fr einen vorgegebenen Eingangltiview Interaktives Fenster zum Simulieren von Systemen
Beispiel
clear all; % Loescht alle aktiven Variablen
close all; % Schliesst alle Grafik-Fenster
sys = tf([1],conv([1 1],[100 1])); % Definieren des Systems G(s)=1/((s+1)*(100s+1))
figure(1); % Figure 1
bode(sys); % Zeichnen des Bodediagramms
w = logspace(-3, 1, 100); % Definieren der Frequenzen von
% 10e-3 rad/s bis 10 rad/s in 100 Schritten
[mag, phase] = bode(sys, w); % Berechnen der Amplitude und
% Phase fuer alle Frequenzen w
figure(3); % Figure 3
semilogx(w, mag(1,:),'-o'); % Plotten der Phase des Systems
xlabel('Frequenz [rad/s]'); % Beschriften der x-Achse
ylabel('Phase [rad]'); % Beschriften der y-Achse
figure(4); % Figure 2
nyquist(sys); % Zeichnen des Nyquistdiagrams
sys_c = feedback(sys,1); % Rueckkopplung des Systems sys
% mit einer Verstaerkung von 1
figure(5); % Figure 3
step(sys_c); % Schrittantwort des geschlossenen Kreises
grid on; % Grid einschalten