WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Problem mit "minreal"

 

gs
Forum-Century

Forum-Century


Beiträge: 172
Anmeldedatum: 17.03.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.08.2016, 11:58     Titel: Problem mit "minreal"
  Antworten mit Zitat      
Hallo liebe Matlab-Gemeinde,

jetzt brauche ich mal eure Hilfe und zwar bei folgenden:
der Befehl minreal macht bei mir nicht das was er soll...

Beispiel:
Code:
num=[1 4 6 6 5 2];
den=[12 205 1066 2517 3128 2196 712];
tf_sys1=tf(num,den)
zpk_sys1=zpk(tf_sys1)
sys=minreal(tf_sys1)


Wir können diese Transfer-Funktion (tf_sys1) allerdings nur mit Vorbehalt als die gültige Übertragungsfunktion bezeichnen. Eine Übertragungsfunktion ist definiert als Beziehung zwischen Ein- und Ausgangsgröße, nachdem sich gegenseitig aufhebende Pole und Nullstellen eliminiert wurden. Bei der Berechnung der Pole und Nullstellen von System sehen wir, dass Zähler- und Nennerpolynom den Term (s+1) als gemeinsamen Faktor haben (siehe zpk_sys1). Um eine endgültige Übertragungsfunktion zu erhalten, müssen wir diesen Term zunächst aus dem Polynom herauskürzen. Beim Herauskürzen solcher gemeinsamer Terme aus den Polynom der Pole und Nullstellen können wir die Matlab-Funktion minreal verwenden.

Soweit so gut, aber:
Die Funktion "minreal" kürzt die Pole bzw. Nullstellen nicht raus. Das ist an der Reduzierung des Zähler- und Nennergrades erkennbar.
Hat jemand eine Idee, was der Fehler sein kann bzw. warum minreal nicht funktioniert?

Grüße gs
Private Nachricht senden Benutzer-Profile anzeigen


AKNOT
Forum-Century

Forum-Century


Beiträge: 129
Anmeldedatum: 12.10.11
Wohnort: Bochum
Version: R2018a
     Beitrag Verfasst am: 15.08.2016, 14:15     Titel:
  Antworten mit Zitat      
Hi, wenn du bei minreal als zweiten Wert eine Toleranz mitgibst, die etwas größer ist als der default (sqrt(eps)), dann klappt es. Also z.B. minreal(tf_sys1, 0.00001).

Vermutlich sind die Pol-/Nullstellen durch numerische Ungenauigkeit nicht so gleich wie es die Darstellung im Command Window vermuten lässt.


Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.