WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Unbekannte Funktionen + Error in port width

 

Raketenmaid
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 58
Anmeldedatum: 28.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.10.2012, 09:27     Titel: Unbekannte Funktionen + Error in port width
  Antworten mit Zitat      
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:

Code:
function y = fcn(Z)
%#codegen

h = Z;

T = f(Variablen aus aufrufenden m-File);

y = T;


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
Private Nachricht senden Benutzer-Profile anzeigen


knilumis_baltaM
Forum-Century

Forum-Century


Beiträge: 241
Anmeldedatum: 20.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.10.2012, 11:25     Titel:
  Antworten mit Zitat      
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?
Private Nachricht senden Benutzer-Profile anzeigen
 
Raketenmaid
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 58
Anmeldedatum: 28.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.10.2012, 13:30     Titel:
  Antworten mit Zitat      
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?
Private Nachricht senden Benutzer-Profile anzeigen
 
knilumis_baltaM
Forum-Century

Forum-Century


Beiträge: 241
Anmeldedatum: 20.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.10.2012, 16:09     Titel:
  Antworten mit Zitat      
Eine konstante nehmen und da den Variablennamen aus dem workspace reinschreiben und diese als Eingang für den Matlab-Function Block nehmen?!?
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.