Matrizen von Matlab nach Simul < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Hallo
ich habe in Matlab einige große Matrizen, die ich durch relativ komplizierte Einzelformeln mit vielne Variablen erstellt habe. Diese möchte ich nun nach Simulink übertragen und dort in einer Simulation verwenden.
Da ich damit eine optimierung machen will, muss ich die Variablemn oft ändern, einfach abschreiben kommt also nicht in frage.
Mit dem Block "from Workspace" kann ich ja nur Zeitabhängige Sachen importiern, oder?
Wer hat eine Idee?
|
|
|
|
Hallo HendrikBuff!
Gehe in Matlab auf Matlabhelp;dann auf Contents.
Hoffe,daß ich helfen konnte.
Grüße Martha.
|
|
|
|
|
die hilfe ist mir durchaus bekannt. danke.
|
|
|
|
|
Habe eine Lösung, über den embedded matlab function Block. Diese Lösung gefällt mir aber nicht besonders gut, da die Matrizen mit jedem Zeitschritt unnötigerweiße neu berechnet werden. Das braucht nur Rechenzeit. Kann ich die Matrizen nicht einmal berechen lassen und sie dann als konstante stehen lassen?Sozusagen aus MAtlab als Globale Variable in Simulink zur Verfügung stellen?
Bin für jeden Tipp wirklich dankbar.
|
|
|
|
|
> Mit dem Block "from Workspace" kann ich ja nur
> Zeitabhängige Sachen importiern, oder?
Hi Hendrik!
Das wäre mir jetzt neu! Kann mich dran erinnern, dass ich über diesen Block die Verstärkungsfaktoren für meine Gains eingelesen hab!
Ich weiß jetzt nicht ob das versionsabhängig ist, aber ich meine man kann auch Matrizen die im Workspace stehen, direkt in eine Datei speichern (bzw. den kompletten Workspace). D.h. du brauchst deine Matrize nur einmal erstellen, den Workspace abspeichern und kannst die dann immer wieder verwenden.
|
|
|
|
|
Hallo
hast du zufällig noch ein beispiel, wie du das gemacht hast? bei mir kommt folgende Fehlermeldung, wenn ich eine Variable importieren will:
Invalid workspace variable specified as workspace input. time values must be monotonically increasing.
Muss ich das eventuell irgendwo einstellen, das meine Variable nicht zeitabhängig ist?
edit: hab gefunden, wie es funktioniert. ist eigentlich viel zu einfach. man muss einfach nur einen const-block nehmen und mit dem entsprechendn variablennamen benennen. also kein "from workspace"block, sondern einfach einen konstanten oder gain-block...
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 15:30 Di 04.09.2007 | Autor: | NewtonsLaw |
Kann ich mal nachschauen. Kann aber bis zum WE dauern!
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 08:59 Di 18.09.2007 | Autor: | NewtonsLaw |
So, habs jetzt doch geschafft, mal nachzu schaun...
Also auf Workspace-Sachen kannst so zugreifen, indem du einfach (am Beispiel eines Gains) da drauf dopppelklickst, und dann als Verstârkunsfaktor eben die Variable angibst, die im Workspace steht. So geht es normalerweise auch mit Matrizen...
Hoff mal ich konnte dir noch weiterhelfen...
|
|
|
|
|
Status: |
(Frage) überfällig | Datum: | 13:03 Do 01.11.2007 | Autor: | Diego4 |
Hallo Hendrik, ich habe ein ähnliches Problem. Habe 2 Eingänge und einen Ausgang in meinem Simulink Modell.
Ich möchte jetzt die Eingänge mit Vektoren aus einem m-File aus Matlab fütter, in Simulink simulieren lassen und mir den Output wieder in Matlab anschauen können als Vektor.
Kannst du vielleicht ein derartiges m-File ins Forum posten?
Danke
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 13:22 Do 08.11.2007 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|