|
Norman |
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 12.07.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.07.2009, 18:07
Titel: Embedded Matlab Function
|
|
|
|
|
Hallo zusammen,
Ich hab den Artikel schon im Forum Programmierung reingestellt. Der pass hier aber besser rein.
Ich habe folgendes Problem bei einer Embedded Matlab Function (EMF).
Der Quelltext ist ziemlich umfassend. Ich habe daher ein kleines Beispiel für euch, welches den gleichen Fehler erzeugt.
In der EMF steht folgender code:
Die Eingänge des Simulinkblocks sind mit konstanten verbunden.
in einem m-file steht die Funktion "fnc"
Hier der code:
Beim starten der "Simulation" kommt einer der folgenden Fehler:
Zitat: |
Expected either a logical, char, int, fi, single, or double. Found a MATLAB type. MATLAB types are returned from calls to the MATLAB interpreter and are not supported inside expressions. They may be used on the right-hand side of assignments and as arguments to MATLAB calls.
Function 'fnc.m' (#38.36.37), line 5, column 7:
"b"
|
Wie kann ich das Problem lösen? Der Inhalt von "c", welche an fnc übergeben wird dort "b", ist vom Typ int. Muss ich das Matlab irgendwie noch mal klar machen?
Vielen Dank schon mal im voraus für Lösungsvorschläge.
Grüße
Norman
_________________
Matlab 7.5.0 (R2007b)
|
|
|
|
|
Norman |
Themenstarter
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 12.07.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.07.2009, 11:15
Titel:
|
|
Ich hab das Problem selber gefunden. Einen Hinweis fand ich in der Simulink Hilfe (Simulink Help - Calling Functions in Embedded Matlab - Working with mxArrays)
Für diejenigen, die es interessiert.
Vor dem Funktionsaufruf muss man der Variablen einen Typ zuweisen. Hier ganz einfach: c = 0; (c ist dann vom Typ double und Matlab ist zufrieden). Die Funktion "fnc", die ja eigentlich den Fehler auslöst, bleibt unverändert.
Noch mal der code:
Norman
_________________
Matlab 7.5.0 (R2007b)
|
|
|
|
|
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 - 2025
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.
|
|