|
|
|
Default werte für Funktionseingabe |
|
| madlab |

Forum-Fortgeschrittener
|
 |
Beiträge: 86
|
 |
|
 |
Anmeldedatum: 15.05.12
|
 |
|
 |
Wohnort: Freiburg
|
 |
|
 |
Version: 7.11 (R2010b)
|
 |
|
|
 |
|
Verfasst am: 06.07.2012, 13:33
Titel: Default werte für Funktionseingabe
|
 |
Hallo zusammen,
ich bin noch nicht so erfahren im schreiben von Funktionen in Matlab. Wie mache ich es denn am besten, wenn ich einen Funtion mit einigen Eingangsvariablen habe, diese aber nicht immer alle eingebe.
Gibt es eine Einfache möglichkeit defaults zu setzen?
Ich möchte zum beispiel ein funktion:
[x_out, y_out] = myfunction (a,b,c,d)
ist es jetzt leicht du funktion ohne übergabe einer bestimmen variable aufzurufen und diese durch einen default wert zu ersetzen?
z.B.
myfunction(a,b,d)
myfunction (b,c,d)
myfunction (c)
...
die fehlenden sollten dann auf einen default wert gesetzt werden. ich habe schon ein bisschen gesucht und habe die funktion "nargin" gefunden.
Wie kann ich denn aber so entscheiden, welche der variablen ich nicht eingegeben habe?
ich möchte ja nicht meine echten eingabewerte mit den defaults überschreiben ^^
hab gerade keine idee, ich hoffe ihr könnt helfen.
grüße,
mad
|
|
|
|
|
|
| madlab |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 86
|
 |
|
 |
Anmeldedatum: 15.05.12
|
 |
|
 |
Wohnort: Freiburg
|
 |
|
 |
Version: 7.11 (R2010b)
|
 |
|
|
 |
|
Verfasst am: 09.07.2012, 14:45
Titel:
|
 |
hat vllt. jemand einen Vorschlag oder wurde das evtl. hier schonmal behandelt?
ich bin jetzt noch nicht darauf gestossen. vielleicht habe ich falsch gesucht.
irgendwelche hinweise wie ich das einfach umsetzten kann?
grüße,
mad
|
|
|
|
| Seer |

Forum-Fortgeschrittener
|
 |
Beiträge: 53
|
 |
|
 |
Anmeldedatum: 23.04.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.14.0.739
|
 |
|
|
 |
|
Verfasst am: 09.07.2012, 16:00
Titel:
|
 |
Ich bin auch noch nicht so erfahren und hatte so ein ähnliches Problem erst einmal. Ich kann dir aber mal ein paar Stichworte geben, mit denen du weitersuchen kannst:
Wenn deine Basisfunktion die Form myfunction(a,b,c,d) hat, kann man mit "nargin" recht gut Funktionen der Form myfunction(a,b,c) ODER myfunction(b,c,d) behandeln. Beides zusammen geht nicht, da "nargin" ja nur die Zahl der Eingänge überprüft.
Ein anderer Ansatz wäre deine Argumente in ein struct zu schreiben und das zu übergeben:
Dann kann man innerhalb der Funktion überprüfen welche Einträge des Structs vorhanden sind und gültige Werte enthalten.
|
|
|
|
| madlab |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 86
|
 |
|
 |
Anmeldedatum: 15.05.12
|
 |
|
 |
Wohnort: Freiburg
|
 |
|
 |
Version: 7.11 (R2010b)
|
 |
|
|
 |
|
Verfasst am: 10.07.2012, 11:39
Titel:
|
 |
Hi Seer,
danke für den Tip!
Der Vorschlag mit dem struct als Werteübergabe ist super
grüße,
mad
|
|
|
|
|
|
|
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 - 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.
|
|