Befehl "step(sys,Zeit in [s])" < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 15:57 Di 05.06.2012 | Autor: | qsxqsx |
Hallo,
In Matlab gibt es den befehl step um aus einem System die step-Antwort zu erhalten.
Ein Beispiel ist folgendes:
a = 0.6; b = 110; c = 14; d = [mm] a^2*c*7/4;
[/mm]
k = 1;
A = [mm] k*[-a^2*b/d,a*b/d;a,-1];
[/mm]
B = [-a/d*80;0];
sys = ss(A,B,[0.6 0],0);
rw = step(sys,10);
Geht man unter "help step" steht dort, dass man die Zeit für die Simulation eingeben kann (in diesem Beispiel 10). Ich will nun 10 Sekunden. Jedoch steht unten auf der Simulationsachse Werte bis ca. 400. Was sind das? Wohl nicht Sekunden?
Kann mir jemand sagen wie ich sicher gehen kann das ich Sekunden eingestellt habe und diese auch auf der Achse sehe?
Danke.
Grüsse
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 11:50 So 10.06.2012 | Autor: | Infty |
Hi,
mach es so:
1: | close all
| 2: | clear all
| 3: |
| 4: | a = 0.6; b = 110; c = 14; d = a^2*c*(7/4)
| 5: | k = 1;
| 6: | A = k*[-a^2*(b/d),a*(b/d);a,-1]
| 7: | B = [-a/d*80;0];
| 8: | sys = ss(A,B,[0.6 0],0);
| 9: |
| 10: | timestart=0
| 11: | timestep=0.1
| 12: | timeend=10
| 13: |
| 14: | tspan=timestart:timestep:timeend
| 15: | rw = step(sys,tspan)
| 16: |
| 17: | plot(tspan,rw)
|
gruß
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 16:26 Mo 11.06.2012 | Autor: | qsxqsx |
Hallo,
Danke dir.
Sry falls ich nun nochmal nachfrage aber das sind dann ja aber diskrete Zeitschritte. Dann weiss ich ja noch weniger ob das nun Sekunden oder Newton sind?:(
Grüsse
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 15:38 Do 14.06.2012 | Autor: | qsxqsx |
Du hast recht ja, es sind wirklich sekunden auch wenn t ein Vektor ist.
sys.timeunit Zeigt die Einheit an.
Grüsse
|
|
|
|