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

Funktion mit belibigen Ausgnagsvariablen definieren

 

ka404
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 95
Anmeldedatum: 29.05.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.04.2015, 11:16     Titel: Funktion mit belibigen Ausgnagsvariablen definieren
  Antworten mit Zitat      
Hallo,
Ich habe folgendes Problem in meinem Hauptprogamm möchte ich verschiedene Funktionen (m-Files) einlesen. Diese Funktionen besitzen allerdings eine unterschiedliche Anzahl an Ausgangsvariablen also z. B. so:

Code:
function [MC,MK,MV,uc,ub,nb] = Mod_4Q


zweite Funktion (die nicht funktioniert):

Code:
function [MC,MK,uc,ub,nb] = Mod1_C1C2O3O4
 


im Hauptprogramm wird bisher so aufgerufen, dass der Benutzer in eine datei einliest und der Name in ein Textfeld gespeichert wird, über den Eingelesen Namen kann die Datei aufgerufen werden und zwar so:

Code:

 Modellname=get(handles.Modellname, 'String');
 Modell=Modellname(1:end-2);
[MC,MK,MV,uc,ub,nb] = feval(Modell);  % Modelldaten einlesen    

das soll aber geändert werden, da hier nur die Mod_4Q-funktion eingelesen werden kann, wenn ich aber die Mod1_C1C2O3O4 einlesen möchte kommt diese Meldung:

Zitat:
Error using Mod1_C1C2O3O4
Too many output arguments.

Error in Einzelkanalsim_V11>Modell_neu_laden_Callback (line 466)
[MC,MK,MV,uc,ub,nb] = feval(Modell); % Modelldaten einlesen

Error in gui_mainfcn (line 96)
feval(varargin{:});

Error in Einzelkanalsim_V11 (line 42)
gui_mainfcn(gui_State, varargin{:});

Error in
@(hObject,eventdata)Einzelkanalsim_V11('Modell_neu_laden_Callback',hObject,eventdata,guidata(hObject))


Error using waitfor
Error while evaluating uimenu Callback


Kann mir jemand einen Tipp gebenoder einen Link schicken, wie ich mein Hauptprogramm so gestalten kann, sodas Funktionen auch mit unterschiedlichen Anzahlen an ausgangsvariblen aufgerufen werden könne.

Viele Grüße
Ka404
Private Nachricht senden Benutzer-Profile anzeigen


Sirius3
Forum-Guru

Forum-Guru


Beiträge: 441
Anmeldedatum: 12.11.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.04.2015, 16:30     Titel:
  Antworten mit Zitat      
Hallo ka404,

da Matlab-Funktionen sich je nach Anzahl Ausgabeparameter sich unterschiedlich verhalten können (siehe load), mußt Du vorher wissen, wie viele Rückgabeparameter eine Funktion haben soll. Wie willst Du überhaupt mit den überzähligen oder fehlenden Werten weiterverfahren? Am besten Du definierst Dir die Funktionen so, dass sie immer mit der gleichen Anzahl Ausgabewerten umgehen können.
Sieh Dir mal nargout an.
Private Nachricht senden Benutzer-Profile anzeigen
 
ka404
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 95
Anmeldedatum: 29.05.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.04.2015, 11:06     Titel:
  Antworten mit Zitat      
Danke, nargout hat mir weitergeholfen Wink
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 - 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.