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

function mit variabler Parameteranzahl

 

Joe66
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 21.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.09.2009, 14:57     Titel: function mit variabler Parameteranzahl
  Antworten mit Zitat      
Hallo zusammen!

Ich möchte eine Funktion schreiben, die mit einer variablen Parameteranzahl umgehen kann. Außerdem sollen die Reihenfolge der im Funktionsaufruf im Hauptprogramm eingegebenen Parameter variieren dürfen.
Wenn ich die Arbeitsweise von varargin etc. richtig verstehe, muss dafür eine gleichbleibende Reihenfolge der Parameter gegeben sein, weil ich sonst innerhalb der Funktion die Werte nicht mehr zuordnen kann - oder?
Über "inputname" scheint ja in dieser Richtung was zu gehen, nur müssen dort die Parameter im Hauptprogramm über festgelegte Variablennamen an die Funktion übergeben werden, was mich etwas stört.

Nochmal ein Beispiel dessen, was ich suche:
Meine Funktion soll änlich wie plot() aufrufbar sein. Ein paar Variablen, die zwingend benötigt werden (bei plot die zwei Vektoren) und andere Variablen, die optional angegeben werden können (wie zB 'Linewidth' beim plot-Aufruf).

Meine bisherige Lösung beinhaltet eine große switch-Abfrage innerhalb der Funktion und einen recht umfangreichen Aufruf im Hauptprogramm in der Art:
[code]Funktionsname('Parameter1',17,'Parameter3',2,'Parameter7',23,'Parameter_10','Verlauf')[/code]
Innerhalb der Funktion wird dann eben über switch nach den Namen "ParameterXY" gesucht und der nachfolgende Wert entsprechend zugewiesen.
Das geht doch bestimmt etwas eleganter, oder? ^^

Vielen Dank schonmal für jegliche Hilfe
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 22.09.2009, 15:20     Titel:
  Antworten mit Zitat      
Hallo,

wie soll es denn eleganter gehen?
Irgendwie musst du im Code entscheiden können, welcher Wert für welchen Parameter gedacht ist.

Was dann oft gemacht wird ist so etwas:

Code:


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Joe66
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 21.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.09.2009, 08:43     Titel:
  Antworten mit Zitat      
Wenn es nicht anders geht ist das ja ohne weiteres auch eine Antwort. Der Code ist jedenfalls schonmal eleganter als meiner ;-)
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.