Aufgabe Bei den Vergleichsrechnungen is zunächs auf die korreke Einsellung aller Parameer zu achen. Insbesondere müssen Simulaionsdauer, Schriweie und die Anzahl der im Scope-Block uner der Variablen S_es_Signale an den MATLAB-Workspace zurückgelieferen Ergebnisse zusammenpassen. So muss beispielsweise für eine fese Schriweie von 0.00 und einer Simulaionsdauer von 0 bis 0 darauf geache werden, dass die insgesam (3 mal) 000 Were von S_es_Signale auch an MATLAB übergeben werden. Dies is garanier, wenn der Parameer Limi rows o las im Kareifenser Scope Properies - Daa hisory des Scope-Blocks auf mindesens 000 Were eingesell is. Eine ähnliche Ausgabebeschränkung haben übrigens auch die MATLAB-Senken von Simulink. Für die Einsellung der Anpassung der Schriweie auf 0.00 im Falle, dass ein Verfahren mi Schriweienseuerung gewähl wird (ewa ode3), muss im Kareifenser Simulaion Parameers der Einrag Oupu opions auf Produce specified oupu only umgesell werden. Uner dem Einrag Oupu imes müssen dann die gewünschen Zeipunke konkre angegeben werden, also im vorliegenden Fall [0:0.00:0]. Insgesam liefern alle drei Verfahren, also fese Einsellung der Schriweie auf 0.00 und Verwendung von ode3, Verfahren mi Schriweienseuerung ode3 und Ausgabe mi Schriweie 0.00, sowie Verfahren mi Schriweienseuerung ode3 alleine, im vorliegenden Beispiel grafisch idenische Ergebnisse. Die Simulaionsdauer is im drien Fall aber deulich geringer als in den ersen beiden Fällen. Aufgabe Nennen wir den Ausgang des Inegraorblocks y(), so exisier zwischen Eingangssignal x() und Ausgangssignal die Beziehung y( ) = x( τ ) dτ + y(0) 0 Durch Differeniaion dieser Gleichung wird die Ausgangsdifferenialgleichung erzeug. Das Sysem lös also diese (ewas ausgearee) Differenialgleichung. Aufgabe 3 Der Differenziererblock befinde sich wie der Inegraorblock in der Funkionsbibliohek Coninuous. Im Grunde is s_lsgdiff durch simples Ersezen des Inegriererblocks durch den Block Derivaive in s_es zu erhalen. Aufgabe 4 Im Liche der Aufgabe könne so argumenier werden, dass im Grunde nur das Eingangssignal x() durch -u() ersez werden brauch. Es ergäbe sich also u(), indem u() aufinegrier wird. Was im Allgemeinen für die heoreische Lösung ein Problem is, da u() ja nich bekann is, wird hier asächlich zum Lösungsprinzip. Es wird einfach der
Ausgang, versehen mi dem Fakor - auf den Eingang des Inegraors zurückgekoppel und überläss den Res Simulink, bzw. dem numerischen Lösungsverfahren, das Simulink benuz. Es ergib sich so das in Abb. dargeselle Sysem. Der Anfangswer is durch Einsellung des Parameers Iniial Condiion im Inegraorblock- Parameerfenser zu sezen. Der Leser vergleiche die (ewa im Inervall [0,3]) simuliere Lösung mi der exaken Lösung u() = e - mi Hilfe von MATLAB. Abb. : Simulink-Sysem zur Lösung von u() = -u() Aufgabe 5 Das geändere Medium und der Widersandsbeiwer sind nach Gleichung (3.9) im Skrip für den Reibungskoeffizienen b zusändig. Der Dichewer für Wasser is bekannlich 000 kg/m 3. Somi ergib sich im Falle der ebenen Seie in Schwingungsrichung 4 kg b =. 63.6943 0 000 = 3. 87 m und im Falle der runden Seie in Schwingungsrichung 4 kg b = 0.4 63.6943 0 000 =. 739 m Wird angenommen, dass die runde Seie in Richung posiiver Bewegungsrichung seh und die ebene in Richung negaiver Bewegungsrichung, so muss der Fakor b gewähl werden, falls sgn(x()) 0 is, und b muss gewähl werden, falls sgn(x()) < 0. Dies läss sich mi Hilfe des swich-blocks erreichen. Abb. zeig den bereffenden Ausschni aus dem Sysem s_lsgschwinger. Der swich-block wird hier durch den Ausgang des auf die Funkion sgn eingesellen Fcn- Blocks aus der Funkionsbibliohek Funcions&Tables geseuer. Der Parameer Ein Lier Wasser wieg kg, ein m 3 ha 000 Lier. Das is Definiionssache! Die Bewegungsrichung legen Sie bei der Modellierung fes.
Threshold seuer dabei die Schwelle, bei welcher zwischen oberem und unerem Eingang umgeschale wird. Zum Abschluss sei bemerk, dass die Umsezung ensprechend Abb. einfacher gesale werden kann, wenn man den Fcn-Block dazu verwende, die ganze Formel b sgn(x()) x () zu berechnen (vgl. Lösung der Aufgabe 6). Zu beachen is dabei lediglich, dass das Eingangssignal für diesen Block immer u heiss! Abb. : Ausschni aus Simulink-Sysem s_lsgschwinger Aufgabe 6 Die Abb. 3 zeig die im Sysem s_lsgpendel implemeniere Lösung der Differenialgleichung des mahemaischen Pendels. Abb. 3: Simulink-Sysem s_lsgpendel zur Lösung der (nich Iinearisieren) Differenialgleichung des mahemaischen Pendels Aufgabe 7 Die Abb. 4 zeig das Simulink-Sysem, welches das Anfangswerproblem aus der Ausgangsdifferenialgleichung mi der Sörfunkion e - lös. Ineressan is hier die Implemenierung der Sörfunkion. Durch einen Clock-Block, der im Wesenlichen das Zeiargumen liefer, wird ein Fcn-Block gerieben, der auf exp (-u) 3
eingesell is. Dadurch wird der addiive Sörerm e - in der Differenialgleichung (reche Seie) erzeug. Abb. 4: Simulink-Sysem zur Lösung der gesellen Differenialgleichung Aufgabe 8 Zunächs solle die gegebene Gleichung auf die Form & y ( ) = (4 y& ( ) 4 y( )) y() =, y& () = gebrach werden. Die Abb. 5 zeig das Simulink-Sysem, welches das Anfangswerproblem lös. Es spiegel in grafischer Form die obige Gleichung wider. Es is zu beachen, dass der Simulaionssarzeipunk auf gesez werden muss (siehe Anfangswere)! Abb. 5: Simulink-Sysem zur Lösung der gesellen Differenialgleichung 4
Aufgabe 9 Im Gegensaz zu den bisherigen Beispielen handel es sich im vorliegenden Fall um die Lösung eines (linearen) Differenialgleichungssysems. Die Lösung eines solchen Sysems von Gleichungen kann allerdings uner Simulink genauso durchgeführ werden, wie im Falle einer einzigen Differenialgleichung. Der Unerschied is lediglich, dass die Gleichungen mieinander verkoppel sind, was sich in ensprechenden Verknüpfungen von Blöcken uner Simulink niederschläg. Die Abb. 6 zeig eine mögliche Simulink-Lösung für das geselle Anfangswerproblem. Abb. 6: Simulink-Sysem zur Lösung des gegebenen Differenialgleichungssysems Es is beispielsweise zu erkennen, dass sich das Signal y& ( ) aus der Addiion der Signale y ( ) und 3 y ( ) ergib. Dies ensprich genau der ersen Gleichung des gegebenen Sysems. Das Differenialgleichungssysem is geschlossen lösbar. Mi Hilfe des Kommandos dsolve können wir die Lösung in MATLAB folgendermassen besimmen:» syms yl y % yl, y als symbolische Variablen % definieren» % Aufruf des Kommandos dsolve für Syseme (s. help dsolve)»» S = dsolve('dyl = -3*yl -*y','dy = 4*yl + *y',... 'yl(0) = ', 'y(0) = I') S = yl: [lx sym] y: [lx sym]» Yl = S.yl;» Y = S.y;» prey(yl) -/7 exp(-/ ) (-7 cos(/ 7 / ) + 9 7 / sin(/ 7 / )) 5
» prey(y) /7 exp(-/ ) (3 7 / sin(/ 7 / ) + 7 cos(/ 7 / )) Als Lösungen ergeben sich also die beiden gedämpfen Schwingungen y( ) = e 7 y ( ) = e 7 7 7 7cos + 9 7 sin 7 7 7cos + 3 7 sin Alernaiv liesse sich die analyische Lösung auch mi Maple besimmen. Wird nun das Sysem s_lsgvt mi den voreingesellen Parameern (fese Schriweie 0.0, Zeiinervall [0,0]) simulier, so ergeben sich im MATLAB-Workspace die Vekoren» whos Name Size Byes Class S lx 770 sruc array Yl lx 6 sym objec Y lx 60 sym objec y 90x 708 double array y 90x 708 double array zei 90x 708 double array Grand oal is 983 elemens using 96 byes Um die Lösungen mieinander vergleichen zu können, wird der vom Sysem s_lsgvt erzeuge Zeivekor zei für in den symbolischen Variablen Y, Y auf folgende Weise subsiuier» syms % Symbolische Variable in Y und Y» lsgl = subs(y,,zei); % durch zei-were ersezen» lsg = subs(y,,zei); % durch zei-were ersezen Wir können nun die numerischen Simulink-Lösungen y und y mi den numerischen Weren der exaken Lösungen lsg und lsg vergleichen. Wir un dies, indem wir die Zahlenkolonnen mieinander vergleichen, da eine grafische Darsellung auf Grund der zu erwarenden geringen Unerschiede nich sinnvoll wäre.» [lsg(:5),y(:5)] % Darsellung der ersen 5 Were ans =.0000.0000 0.950 0.950 0.9006 0.9006 0.854 0.854 6
0.805 0.805 0.7539 0.7539 0.7056 0.7056 0.6577 0.6577 0.60 0.60 0.5630 0.5630 0.56 0.56 0.4696 0.4696 0.435 0.435 0.3778 0.3778 0.334 0.334 0.874 0.874 0.48 0.48 0.986 0.986 0.548 0.548 0.4 0.4 0.0685 0.0685 0.059 0.059-0.06-0.06-0.0580-0.0580-0.0993-0.0993 In der Ta sind bei den ersen 5 Weren keinerlei Unerschiede feszusellen. Auf eine ensprechende Prüfung der zweien Lösung soll verziche werden. Der Leser möge zur Konrolle zusäzlich die Lösungen mi geeigneen Plo-Kommandos überprüfen. Aufgabe 0 Die Lösung des Problems is in Abb. 7 dargesell. Abb. 7: Simulink-Sysem zur Lösung der gegebenen Differenialgleichung Hierbei wurden die Signale x() und x& () mi Hilfe eines Muliplexers zunächs zu einem vekoriellen Signal zusammengefass. Die Differenialgleichung is innerhalb des Fcn- Blocks realisier, wobei auf die einzelnen Komponenen des vekoriellen Eingangssignals zugegriffen wird. Die meisen Blöcke des ursprünglichen Sysems s_dglnon sind weggefallen. 7
Aufgabe Das Differenialgleichungssysem aus Aufgabe 9 kann mi Hilfe von Fcn-Blöcken ensprechend Abb. 8 gelös werden. Abb. 8: Simulink-Sysem zur Lösung des gegebenen Differenialgleichungssysems Hierbei sind die rechen Gleichungsseien jeweils wieder komple in den Fcn-Blöcken realisier und die Lösungen zu einem vekorwerigen Signal zusammengefass, welches als Eingangssignal der Fcn-Blöcke verwende wird. Aufgabe Das Ergebnis der Zusammenfassung der Blöcke im Rückkopplungszweig is in Abb. 9 dargesell. Abb. 9: Sysem s_dglnon5 nach der Subsysem-Erzeugung. Zunächs is zu bemerken, dass das Subsysem im Gegensaz zu dem Beispiel aus Kapiel 4 zwei Eingänge ha. Die Konsrukion is ggf. ewas schwierig durchzuführen, wenn die Blöcke noch mi den Inegraoren und den Senkenblöcken verbunden sind. Solange das Subsysem nich korrek erzeug werden kann, kann fesgesell werden, dass der Menü-Einrag Edi - Creae Subsysem auch nich angewähl werden kann. Solle dies der Fall sein, so solle das selekiere Teilsysem noch einmal überprüf werden. 8
Aufgabe 3 Abb. 0 zeig das zu enwerfende Simulink-Sysem. Abb. 0: Simulink-Sysem zur Simulaion der gegebenen Kennlinie Für die korreke Paramerierung des Sysems muss die Kennlinie zunächs in einer für den Kennlinienblock geeigneen Form uner MATLAB definier werden. Wir sezen x und k(x) in zwei MATLAB-Vekoren um. Da die Funkion k(x) abschnisweise definier is, muss dies auch abschnisweise geschehen:» x=(-:0.:0); % Negaive x-achse bis -» x=(0:0.l:4); % Bereich k(x)=wurzel(x)» x3=(4:0.:6); % Bereich grösser 4 bis 6» yl=zeros(,lengh(xl));» y=sqr(x); % Funkionswere definieren» y3=*ones(,lengh(x3));» x=[x,x,x3]; % Vekoren zusammensezen» k=[y,y,y3]; Es is zu beachen, dass der Kennlinienblock die Were ausserhalb der definieren Abschnie exrapolier. Im vorliegenden Fall also mi 0 nach unen und nach oben, wie in der Definiion von k(x) auch vorgesehen. Wie Sie fessellen, waren die vorangegangenen Kommandos noch einmal eine Übung zu den besprochenen MATLAB-Techniken. Nachdem diese Anweisungen uner MATLAB abgesez wurden, is die Kennlinie im Kennlinienblock zu erkennen, wenn die Vekoren x und k dor ensprechend eingeragen werden. Zudem ragen wir noch die Variable amp in den Ampliuden-Parameer des Sine Wave-Blocks ein, um die Ampliude von MATLAB aus ändern zu können. Die Simulaion für die Ampliuden, 3 und 5 liefer mi» amp=; % Ampliude auf sezen % Jez Simulink-Sysem s_lsgkennlinie simulieren» erg=erg; % Ergebnis umspeichern» amp=3; % Ampliude auf 3 sezen % Jez nochmals Simulink-Sysem s_lsgkennlinie simulieren» erg3=erg; % Ergebnis umspeichern» amp=5; % Ampliude auf 5 sezen % Jez nochmals Simulink-Sysem s_lsgkennlinie simulieren» erg5=erg; % Ergebnis umspeichern» plo(,erg,'r-',,erg3,'b:',,erg5,'g--'); 9
das in Abb. dargeselle Ergebnis. Abb. : Simulaion von s_lsgkennlinie mi amp=, und 5 Es is zu erkennen, dass der Sinus für seine negaiven Were durch die Kennlinie auf 0 gesez wird. Überschreie die Ampliude den Wer 4, so bleib der Ausgangswer für diese Zei auf. Dazwischen wird a sin( π x) geploe. Aufgabe 4 Abb. zeig das zu enwerfende Simulink-Sysem. Abb. : Simulink-Sysem zur Simulaion des gegebenen Kennfeldes Für dieses Sysem müssen die in s_lsgkennfeld eingesellen Kennfeldparameer x, y und k durch folgende MATLAB-Anweisungen gesez werden:» x = (-:0.:);» y = (-:0.:);» ind = (O::engh(x)-);» [X,Y] = meshgrid(x,y);» k = X.^ + Y.^; Die Parameer des From Workspace-Blocks ind, x und y müssen unbeding Spalenvekoren sein. Daher müssen noch vorab folgende MATLAB-Kommandos abgesez werden:» x = x';» y = y' ;» ind = ind'; Die Simulaion liefer, wie erware, als Ergebnis den Funkionsgraph der Funkion Inervall [-,]. Auf eine grafische Darsellung dieses Ergebnisses wird verziche. x im 0