Einfuehrung Matlab R2007b

download Einfuehrung Matlab R2007b

of 22

  • date post

    15-Jul-2015
  • Category

    Documents

  • view

    122
  • download

    0

Embed Size (px)

Transcript of Einfuehrung Matlab R2007b

Einfhrung in MATLAB von The Mathworks, Inc.1 Einleitung ............................................................................................................................ 1 2 Aufteilung des MATLAB-Fensters..................................................................................... 1 3 Dateiformate in MATLAB.................................................................................................. 2 4 Dokumentation der Arbeit in MATLAB............................................................................. 2 5 Symbolisches Rechnen (Symbolic Math Toolbox)............................................................. 2 6 Control System Toolbox ..................................................................................................... 4 7 Lineare zeitinvariante Systeme ........................................................................................... 8 8 Reglerentwurf in Matlab, Beispiel .................................................................................... 12 9 Reglerentwurf mittels RLTool .......................................................................................... 15 10 Simulink .......................................................................................................................... 18

1 EinleitungDas Programm MATLAB entstand Ende der 1970er Jahre zur einfacheren numerischen Verarbeitung von Vektoren und Matrizen. Daher hie es zunchst auch noch MATrix LABoratory. Seitdem hat es sich bis heute zu einem Standardprogramm entwickelt, da in Lehre, Forschung, Industrie und Finanzwesen weltweit eingesetzt wird. In MATLAB knnen Systeme hherer Ordnung oder groe Datenmengen ebenso leicht verarbeitet werden wie kleine. Die Ergebnisse lassen sich sehr komfortabel grafisch darstellen. Fr viele Aufgaben stehen interaktive Tools zur Verfgung. Fr numerische Simulation steht der Aufsatz SIMULINK zur Verfgung. Studentenversionen von MATLAB und SIMULINK sind online erhltlich unter http://www.mathworks.com/academia/student_version/.

2 Aufteilung des MATLAB-FenstersDas MATLAB-Fenster gliedert sich in vier Bereiche: - Hauptmen - Arbeitsspeicher (Workspace) und Arbeitsverzeichnis (Current Directory) - Kommandohistorie (Command History) - Arbeitsfenster (Command Window) Diese Bereiche lassen sich je nach Bedrfnis ab- oder andocken. Die selbst gestaltete Arbeitsoberflche (Layout) kann unter Desktop gespeichert und auch wieder aufgerufen werden.

2.1 HauptmenAm oberen Rand befindet sich die Hauptmenleiste mit den Untermens File, Edit, Debug, Desktop, Window und Help. Darunter sind die Toolbar mit Tools wie SIMULINK, GUIDE und PROFILER und die Shortcuts Toolbar angeordnet. Der Shortcuts Toolbar kann man eigene Funktionstasten (Shortcuts) zufgen. Beispiel: Nach Rechtsklick in die Shortcut-Leiste whlt man New Shortcut. Im Shortcut Editor kann man nun die Beschriftung (Label) und die auszu- fhrenden Befehle (Callback) eintragen. Wenn man bei Label eintrgt "Arbeitsfenster lschen" und bei Callback "clc" und anschlieend den Shortcut-Editor mit der Save-Taste schliet, erhlt man eine Taste zum schnellen Lschen des Arbeitsfensters.

2.2 Current Directory und WorkspaceOben im linken Bereich des Fensters kann zwischen Current Directory und Workspace umgeschaltet werden. Ersteres listet die Ordner und Dateien des aktuellen Arbeitsverzeichnisses, das in der Toolbar eingestellt ist. Letzteres listes alphabethisch alle in Dipl.-Ing. (FH) Daniel Kstner 1/22 Stand 17.1.2011

der aktuellen Sitzung angelegten Variablen. Mit Rechtsklick auf eine oder mehrere Variable kann man diese plotten lassen, lschen oder speichern als binre MAT-Datei.

2.3 Command HistoryDie Eingaben der aktuellen und auch der vorangegangenen Sitzungen werden im Command Histrory gelistet. Diese knnen erneut ausgefhrt, als M-Datei gespeichert oder in einen Shortcut gewandelt werden.

2.4 Command WindowIm Command Window kann in der Befehlszeile die Eingabe erfolgen. Die Ergebnisse werden unmittelbar darauf folgend ausgegeben. Soll die Ausgabe der Ergebnisse unterdrckt werden, schliet man die Eingabe mit einem Semikolon ab.

3 Dateiformate in MATLABDie wichtigsten Dateiformate in MATLAB sind - MAT-Datei enthlt Variable in binrem Format (.mat) - M-Datei speichert textuell Befehle und Kommentare (.m) und kann auch als Funktion, Programm oder Unterprogramm angelegt werden - Figure stellen Daten in grafischen Verlufen dar oder beinhalten eine mit GUIDE erzeugte graphische Benutzerschnittstelle (.fig) - SIMULINK-Modelle enthalten Blockdiagramme einer Simulation (.mdl)

4 Dokumentation der Arbeit in MATLAB4.1 Matlab-TagebuchMit dem Kommando diary Dateiname wird ein Tagebuch angelegt, in das Matlab alle ins Command Window eingegeben Befehle und die Text-Ausgaben eintrgt.

4.2 Matlab-NotizblockNach Eingabe des Befehls notebook ffnet Matlab eine neue Datei in MS Word. In diese werden die Matlab-Befehle eingegeben und von da auch ausgefhrt. Matlab sendet die Ergebnisse zurck an die Worddatei.

4.3 M-Datei (m-File)Matlab kann Scripte ausfhren, die beliebig viele Befehle enthalten knnen. Man kann diese Befehle in ein neues m-File schreiben oder aus einem Abschnitt der Command-History erzeugen. M-Dateien knnen auch als Funktion definiert werden.

5 Symbolisches Rechnen (Symbolic Math Toolbox)MATLAB ist vorrangig fr die numerische Lsung von Gleichungen ausgelegt. Mit Hilfe der zustzlichen Symbolic Math Toolbox sind auch symbolische Lsungen mglich. Im folgenden Beispiel soll eine Differenzialgleichung zweiter Ordnung mit den Anfangszustnden gleich Null gelst und der grafische Verlauf fr Ks=2, T1=10s, T2=5s und der Eingangsgre U=1 gezeichnet werden. Anschlieend soll die bertragungsfunktion vom Dipl.-Ing. (FH) Daniel Kstner 2/22 Stand 17.1.2011

Zeitbereich in den Bildbereich der LAPLACE-Transformation bertragen werden. Da spter ein digitaler Regler entworfen werden soll, soll auch in den z-Bereich transformiert werden.syms t s Ks U Y T1 T2; %Definition symbolischer Variablen g = ('D2Y*(T1*T2)=Ks*U-DY*(T1+T2)-Y');%Eingabe der Differenzialgleichung, D steht fr 1. Ableitung, D2 fr 2. Ableitung, s. help dsolve y = dsolve(g,'DY(0)=0','Y(0)=0'); %Lsung der DGL mit Anfangsbedingungen pretty(y) %Darstellung der Lsung y ys=subs(y,[Ks T1 T2 U],[2 10 5 1]); %Ersetzen der Variablen durch Zahlen ezplot(ys, [0 50]) %zeichnen des Funktionsverlaufs Y=laplace(y); %Laplacetransformation y nach Y G=Y/U*s; %Berechnung der bertragungsfunktion pretty(G) %Darstellung der bertragungsfunktion Gz=factor(ztrans(ilaplace(G))); %Z-Transformation ber den Zeitbereich pretty(Gz) %Darstellung der diskreten bertragungsfunktion

t t exp(- ----) T2 Ks U exp(- ----) Ks U T1 T2 T1 - ------------------- + ------------------- + Ks U -T1 + T2 -T1 + T2 2 exp(- 1/5 t) - 4 exp(- 1/10 t) + 2

2 exp(-1/5 t)-4 exp(-1/10 t)+2 2 1.5 1 0.5 0 0 10 20 t 30 40 50

Ks --------------------(s T1 + 1) (s T2 + 1) / 1 1 \ Ks z |-exp(- ----) + exp(- ----)| \ T1 T2 / ---------------------------------------------/ 1 \ / 1 \ (-T1 + T2) |z - exp(- ----)| |z - exp(- ----)| \ T2 / \ T1 /

Dipl.-Ing. (FH) Daniel Kstner

3/22

Stand 17.1.2011

6 Control System Toolbox6.1 VariableErstes Zeichen muss Buchstabe sein Unterscheidung von Gro-Kleinschreibung Wenn kein Name, dann ans >> 4-2 ans = 2 >> a56=4-2; Semikolon unterdrckt Bildschirmausgabe z.B. Zwischenergebnisse, bei Matrixoperationen sinnvoll siehe Workspace -> a56 vorhanden >> a56 a56 = 2 Dezimaltrennzeichen: Punkt

6.2 Operanden:+ * / \ ^ Addition Subtraktion Multiplikation Division (x/y = x dividiert durch y) Division (x\y = y dividiert durch x) Potenzieren Transponieren (Matrizen)

Prioritt: ^, *, / und \, + und - (wenn keine Klammern) Elementweise Operationen mit Vektoren oder Matrizen werden durch das Voranstellen eines Punktes vor den Operanden angewiesen.

Dipl.-Ing. (FH) Daniel Kstner

4/22

Stand 17.1.2011

6.3 Komplexe Zahlen:Imaginrteil durch Eingabe von i oder j kennzeichnen >> b=a56+i*3 b= 2.0000 + 3.0000i >> b2=a56^2+i*2 b2 = 4.0000 + 2.0000i >> c1=b+b2 c1 = 6.0000 + 5.0000i >> c1=b-b2 c1 = -2.0000 + 1.0000i >> c1=b*b2 c1 = 2.0000 +16.0000i >> c1=b/b2 c1 = 0.7000 + 0.4000i Realteil: >> re=real(c1) re = 0.7000 Imaginrteil: >> im=imag(c1) im = 0.4000 Betrag: >> r=abs(c1) r= 0.8062 Phase: >> phi=angle(c1) Winkel in rad phi = 0.5191 >> c2=r*exp(j*phi) c2 = 0.7000 + 0.4000i Dipl.-Ing. (FH) Daniel Kstner 5/22 Stand 17.1.2011

6.4 VektorenWerden in rechteckigen Klammern eingegeben, die Elemente getrennt durch Leerzeichen beim Zeilenvektor: >> vz=[a56 4 6] vz = Semikola beim Spatenvektor: 1 2 5 Transponieren: >> vz2=vs' Erzeugung: >> vint=1:10 10 >> v02=0:0.2:1 1.0000 linspace(x,y,k) und logspace(x,y,k) z.B. fr Skalierungen von Diagrammen >> vlog=logspace(-2,2,5) vlog = 0.0100 0.1000 1.0000 10.0000 100.0000 k Elemente von 10x bis 10y >> vs=[a56-1; 4-2; 6-1] vs = 2 4 6

vs2 = vint = v02 =

1 1

2 2

5 3 4 5 6 7 8 9

0 0.2000 0.4000 0.6000 0.8000

6.4.1 Beispiel zu VektorenEs soll eine nach einer e-Funktion mit einer Zeitkonstante von 2s abklingende Sinusschwingung mit der Anfangsamplitude 2 und einer Frequenz von 1Hz ber 10 Sekunden mit einer Auflsung von 1ms berechnet und rot gestrichelt geplottet werden. Der Bereich von 2-3s soll grn berschrieben werden.t=0:0.001:10; y=2*exp(-t/2).*sin(2*pi*t); %Zeitvektor 0-10s %Berechnung der Sinusfunktion mit %elementweiser Operation figure %ffnen eines neuen Plotfensters plot(t,y,'r--',t(2000:3000),y(2000:3000),'g') %Plotten grid on %Einschalten des Rastergitters xlabel('Zeit t [s]') %Beschriftung Zeitachse ylabel('Amplitude') %Beschriftung Grenachse title('Impulsantwort eines schwingfhigen Systems') %Diagrammtitel

Di