Ich habe die Pol-Nullstellen-Diagramm der folgenden Übertragungsfunktion geplottet, es funktioniert, aber ich glaube sollte der Befehl pzplot auch die Nullstellen plotten, es werden nur die Pole geplottet. Wieso werden die Nullstellen nicht geplottet?
Auch wenn ich auf die Variabel "PN" zugreife, das Ergebnis ist "resppack.mpzplot" und nicht die Pole und Nullstellen der Funktion. Wie kann ich auf PN zugreifen?
Code:
%--------------------------------------------------------------------------
% Parametern
%--------------------------------------------------------------------------
s=tf('s');
nnenn=17/60; % Umdrehungen pro minute
n=72; % Übertragungsrate
Vnenn=11.5; % Normierte Windgeschwindigkeit
p=1.229; % Luftdichte
R=60; % Radius der Rotorblatt
cp_nenn=0.469; % rated power coefficient
Mnenn=p*R^2*Vnenn^3*cp_nenn/(4*nnenn); % Normierte Drehmoment
Mgnenn=Mnenn/n; % normierte Drehmoment der Generator
ngnenn=n*nnenn; % Normierte Drehzahl der Generator
Tstr=0.005; % Zeitkonstante des Stromregelkreis
Jges=3.1*10^7; % [kg.m²] Gesamte Trägheitsmoment: Jges=Jm+Jnr/(n^2)+Jrb/(n^2)
J1=Jges*0.07; % Trägheitsmoment der Generator
J2=Jges*0.48; % Trägheitsmoment zwischen Nabe und der oberen Teil des Blatts
J3=Jges*0.45; % Trägheitsmoment der oberen Teil des Blatts
% Parameter des elektrisch-mechanischen Triebstrangssystems
v1=J1/J2;
v2=J2/J3;
%--------------------------------------------------------------------------
% Federsteifigkeiten. Aus den Grafiken abgelesen
%--------------------------------------------------------------------------
c12=659349472.28154805647644973862281; % Berechnete maximale Federsteifigkeit c1,2
c23=639550365.19059031738333623994105; % Berechnete maximale Federsteifigkeit c2,3
sys=ss(A,B,C,D); % State space model
I=eye(ndim,mdim); % Einheitsmatrix ndim x mdim
G=C*inv(s*I-A)*B; % Oder G=tf(sys)-> Übertragungsfunktionen: n1/mi,soll und mi/mi,soll
PN=pzplot(sys); % Pol-Nullstellen-Diagramm
sgrid;
Ich vermute, dass Matlab daher die Nullstellen nicht richtig berechnet - die Pole aber sind richtig!
Sieht für mich nach einem MatlabFeature aus, da kommt das Programm scheinbar nicht damit klar, dass es mehrere Übertragungsfunktionen gibt, bestimmt die Pole von der 1. Lösung, die NST aber von der zweiten!? Ist aber nur ein Vermutung. Ich habe auch keinen Weg gefunden, wie man gezielt auf Lösung 1 oder 2 zugreifen kann - steht auch nix in der Doku drinn dazu.
Pole und NST kannst du dir z.B. über
[n,d]=ss2tf(A,B,C,D) oder pole(sys) & tzero(sys) anzeigen lassen. Aber auch hier musst du das richtige System übergeben.
Wenn du die Übertragungsfunktion #1 nimmst (ich habe sie händisch reinkopiert) und dir diese Plotten läßt, werden die NST angezeigt.
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.