|
|
function mit variabler Parameteranzahl |
|
Joe66 |
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 21.09.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.09.2009, 14:57
Titel: function mit variabler Parameteranzahl
|
|
|
|
|
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
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 22.09.2009, 15:20
Titel:
|
|
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:
Grüße,
Harald
|
|
|
Joe66 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 21.09.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.09.2009, 08:43
Titel:
|
|
Wenn es nicht anders geht ist das ja ohne weiteres auch eine Antwort. Der Code ist jedenfalls schonmal eleganter als meiner ;-)
|
|
|
|
|
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.
|
|