Softwareentwickler MATLAB/Simulink (w/m) Erarbeitung von Lösungen im Bereich der Schnittstelle zum Simulink-Modell und der Benutzeroberfläche von TargetLinkdSPACE GmbH - Paderborn
Leider gibt deine Frage nicht viel Informationen her. Für was für ein System hast du die Parameter ermittelt, das müsstest du eigentlich wissen und dann kannst du das Modell auch in Simulink nachbauen.
Hast du dir ein Zustandsraummodell erstellt? (Sieht zumindest auf den ersten Blick so aus...).
Dann Fehlen aber noch die Parameter für die Matritzen C und D.
Testen kannst du das ganze auch in Matlab brauchst nicht unbedingt Simulink dazu. Wenn du es mit Simulink machen möchtest dann Hilft dir der Block
"State Space Block" weiter, allerdings nur wenn du das Modell in der Zustandsraumdarstellung hast. Alternativ kannst du das ganze noch mit Übertragungsfunktionen darstellen Stichwort "Transferfunctions" oder du bildest das Modell physikalisch nach.
Also ich habe ein Zustandsraummodell mit mehreren Variablen die ich mit dem Least Squares Verfahren schätzen will.
Die Berechnung der Zustandgleichung ergibt: (vereinfachte Darstellung)
y = (p1*z+p2)/(z^2+p3*z+p4)*u1 + (p5*z+p6)/(z^2+p3*z+p4)*u2
Ich wollte nun die ergebnisse der Parameterschätzung direkt in Simulink als diskrete tf (oder digitales Filter) testen hab aber nicht das richtige Ergebnis bekommen, wenn ich es aber in Matlab teste dann funktioniert es
Hallo,
Das klingt merkwürdig. Ich könnte mir jetzt spontan vorstellen, dass ein Konvertierungsproblem vorliegt. Hast du die Koeffizienten in der richtigen Reihenfolge in der Übertragungsfunktion eingegeben?
Es kann zum Beispiel sein dass in Matlab die Übertragungsfunktion mit dem niedrigstens Term beginnt, in Simulink die Übertragungsfunktion aber mit dem höchsten Term anfangen muss.
Sonst wüsste ich grade keinen Grund warum es in Matlab geht aber in Simulink nicht.
Also ich habe jetzt raus bekommen warum es nicht funktioniert.
Wenn ich mit den gemessenen Werten Simuliere dann klappt es, aber die berechneten Fehler haben einen Rundungsfehler der sich dann aufsummiert, und bei einer abtastrate von 0.01 ms wird der Fehler schnell sehr groß.
Hab das gleich problem auch wenn ich es mit Matlab einlese und Teste, ich versuche jetzt nochmal das Schätzverfahren mit gerundeten Messdaten und hoffe ich komme der Lösung ein stück näher
Danke für das Update. Würde mich interessieren in welchem Bereich sich der Rundungsfehler bewegt und falls du eine Lösung gefunden hast bin ich auch daran interessiert.
Habt ihr schon mal Gedanke gemacht über dieMethode der Polvorgabe für den Zustandsregler? wäre auch eine Vorgehensweise ich denke ziemlich einfacher als eure .
hmmm, kann mir einer mal kurz beschreiben wie ich vorgehen muss, wenn ich die Ordnung des Zustandsraummodells für die Parameterschätzung bestimmen will.
Weil ich vermute, dass ich da einen Fehler habe.
G = C * [(z*E-A)^(-1) * B];
D = 0;
E = Einheitsmatirx
Options and Permissions
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.