Verwenden von Matlab zum Zeichnen eines Sprungantwortdiagramms

Ich habe die nächste Übertragungsfunktion:

a ^ a R e F ^ = w N 2 S 2 + 2 w N ξ S + w N 2

Jetzt möchte ich einen Sprungantworteingang in Höhe von zeichnen a R e F , Wo ξ kommt mit unterschiedlichen Werten (dh unterschiedliche Graphen auf derselben Achse für unterschiedliche Werte von ξ , und der Wert von w N kommt drauf an ξ ).

Wie implementiert man das in Matlab?

Vielen Dank im Voraus.

Antworten (1)

Ein nicht ganz eleganter Weg, dies zu tun, ist:

zeta=[...]; %your zeta values
wn = ... % calculate your wn values according to your zeta values
figure;
hold('on');
for idx = 1:length(zeta)
    % sys = tf([wn(idx)],[1 2*wn(idx)*zeta(idx) wn(idx)^2]); %system's transfer function
    % EDIT : numerator corrected
    sys = tf([wn(idx)^2],[1 2*wn(idx)*zeta(idx) wn(idx)^2]); %system's transfer function
    step(alpharef*sys);
end
Danke, es sollte der Zähler sein w N ( ich D X ) 2 , ansonsten sieht es für mich ok aus.
Das ist mir nicht aufgefallen. Danke für den Hinweis. Habe meine Antwort entsprechend bearbeitet.
Sie können hold on statt hold('on') schreiben;
Nun ja, aber normalerweise versuche ich, die Funktionssyntax zu verwenden. Ich denke, es gibt dem Code mehr Konsistenz. Die Syntaxdokumentation finden Sie hier: mathworks.com/help/matlab/ref/syntax.html mathworks.com/help/matlab/matlab_prog/…