|
|
Unbekannte Funktionen + Error in port width |
|
Raketenmaid |
Forum-Fortgeschrittener
|
|
Beiträge: 58
|
|
|
|
Anmeldedatum: 28.09.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.10.2012, 09:27
Titel: Unbekannte Funktionen + Error in port width
|
|
|
|
|
Ich habe ein Problem, dass ich nicht verstehe.
Wie gehabt habe ich ein m-File, in dem ich etliche Variablen definiere, d. h. mit Werten belege. In diesem m-File rufe ich anschließend ein Simulinkmodel auf, das einen Block Matlab-Function enthält, die auf Variablen in dem m-File zurückgreift.
Ich bekomme nun einige Fehlermeldungen, dass die und die Funktion (= Variablen aus dem m-File) nicht definiert seien. Andere Variablen, die exakt genauso definiert werden, werden anstandslos akzeptiert.
Zudem bekomme ich eine Fehlermeldung:
"Error in port widths or dimensions. Output port 1 of Matlab-Function/Eingangsvariable is a one dimensional vector with 1 elements.
Ja, und was ist da bitte daran falsch? Die Eingangsvariable ist zur Zeit noch eine Konstante zu Testzwecken und in der Matlab-Funktion führe ich keine Vektoroperationen durch, sondern reine skalare Berechnungen und gebe auch an die Ausgangsvariable der Funktion einen skalaren Wert, der nach meinem Verständnis in Matlab so oder so wie ein 1x1 Vektor behandelt wird. Ich bin absolut ratlos.
Hier der vereinfachte Code der Matlab-Funktion im Simulink Block:
Z ist hier die Eingangsvariable, wie man sieht, die momentan als Konstante aus dem Simulink-Model eingefüttert wird. T ist ein rein skalarer Ausdruck
|
|
|
|
|
knilumis_baltaM |
Forum-Century
|
|
Beiträge: 241
|
|
|
|
Anmeldedatum: 20.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.10.2012, 11:25
Titel:
|
|
Was ist den bei dir f?
Zu unbekannte Funktion: Versuchst du eine Funktion im m-file aus dem Matlab function Block aufzurufen?
Musst mehr zeigen, hier kann man nur rumraten.
T ist kein Skalar sondern das was "f(Variablen aus aufrufenden m-File)" ist. Kommt der Fehler wenn du die Variable nicht aufrufst sondern dein Skalar direkt in die Matlab Function eingibst/verwendest?
|
|
|
Raketenmaid |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 58
|
|
|
|
Anmeldedatum: 28.09.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.10.2012, 13:30
Titel:
|
|
Sorry, wenn ich hier nicht mehr zeigen kann. Aber ich habe das Problem mittlerweile gelöst, teilweise durch Umgehung (was nicht sehr zufriedenstellend ist an sich).
Es scheint wohl so zu sein, dass man in einem Matlab Function Block nicht auf Variablen aus dem Workspace zugreifen kann. Oder kennt Ihr einen Weg, das doch zu tun ohne diese als direkten Input hineinzuleiten?
|
|
|
knilumis_baltaM |
Forum-Century
|
|
Beiträge: 241
|
|
|
|
Anmeldedatum: 20.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.10.2012, 16:09
Titel:
|
|
Eine konstante nehmen und da den Variablennamen aus dem workspace reinschreiben und diese als Eingang für den Matlab-Function Block nehmen?!?
|
|
|
|
|
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.
|
|