|
|
s-function zu embedded matlab function ändern - Probleme |
|
schranze |
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 11.01.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.01.2010, 23:06
Titel: s-function zu embedded matlab function ändern - Probleme
|
|
Hallo,
ich habe eine s-function mit der Bedingung von StateFlow aktiv gesetzt zu werden. Rückgabewert hat das es auch, da die nächste Berechnung dadurch angestoßen wird. Also so hier:
Die Parameter done und go sind die Parameter zum ausführen. Soweit funktioniert das mit den s-functions
Meine Abänderung für embedded Matlab Function sieht so aus
So funktioniert es nicht. Ich erhalte die Meldung
Zitat: |
Undefined function or variable 'done'. The first assignment to a local variable determines its class.
|
Wenn ich oben noch done=1; deklariere erhalte ich dann das
Zitat: |
Embedded MATLAB Interface Error: Output 'done' (#621) has unexpectedly received a second type |
Ich komme da nicht weiter. Denke die Deklarierung der Werte geht nicht so einfach wie gedacht.
Danke für jeden Tipp, wie ich das abändern kann
|
|
|
|
|
Titus |
Forum-Meister
|
|
Beiträge: 871
|
|
|
|
Anmeldedatum: 19.07.07
|
|
|
|
Wohnort: Aachen
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.01.2010, 11:53
Titel:
|
|
Hallo,
hmm, hast Du auf dem Ausgang den Typ von done festgelegt? Z.B. als Boolean? Das würde die Fehlermeldung erklären (denn ein "done=1") erzeugt eine Double-Variable. Wenn dem so ist, ist der Ausweg:
done=false; und done=true; im Code verwenden ...
Titus
|
|
|
schranze |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 11.01.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.01.2010, 15:59
Titel:
|
|
Titus hat Folgendes geschrieben: |
Hallo,
hmm, hast Du auf dem Ausgang den Typ von done festgelegt? Z.B. als Boolean? Das würde die Fehlermeldung erklären (denn ein "done=1") erzeugt eine Double-Variable. Wenn dem so ist, ist der Ausweg:
done=false; und done=true; im Code verwenden ...
Titus |
stimmt das ist wahrlich ein Fehler - es muß als boolean festgelegt werden - hab ich geändert
da sieht die Sache schon besser aus - wenn ich nur den Ausgangswert festlege geht es - jetzt muß ich nur noch sehen, wie ich das mit dem Eingangswert richtig hin bekomme - da erhalte ich immer noch ein Fehler
|
|
|
schranze |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 11.01.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 14.01.2010, 11:06
Titel:
|
|
Nach Abänderung erhalte ich diesen Fehler:
Zitat: |
Cannot solve algebraic loop involving 'Regler/Embedded MATLAB Function' because it consists of blocks that cannot be assigned algebraic variables, i.e., blocks with discrete-valued outputs, blocks with non-double or complex outputs, Stateflow blocks, or nonvirtual subsystems. |
Jetzt müsste ich nur noch wissen, wie ich das beheben kann. Da denkt man mit den boolean klärt sich alles, aber dem ist so nicht.
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| 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.
|
|