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

Default werte für Funktionseingabe

 

madlab
Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 86
Anmeldedatum: 15.05.12
Wohnort: Freiburg
Version: 7.11 (R2010b)
     Beitrag Verfasst am: 06.07.2012, 13:33     Titel: Default werte für Funktionseingabe
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen


madlab
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 86
Anmeldedatum: 15.05.12
Wohnort: Freiburg
Version: 7.11 (R2010b)
     Beitrag Verfasst am: 09.07.2012, 14:45     Titel:
  Antworten mit Zitat      
hat vllt. jemand einen Vorschlag oder wurde das evtl. hier schonmal behandelt?
ich bin jetzt noch nicht darauf gestossen. vielleicht habe ich falsch gesucht. Rolling Eyes

irgendwelche hinweise wie ich das einfach umsetzten kann?

grüße,

mad
Private Nachricht senden Benutzer-Profile anzeigen
 
Seer
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 53
Anmeldedatum: 23.04.12
Wohnort: ---
Version: 7.14.0.739
     Beitrag Verfasst am: 09.07.2012, 16:00     Titel:
  Antworten mit Zitat      
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:
Code:


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:
Code:
mystruct.a = 1;
mystruct.b = 2;
mystruct.c = 3;
mystruct.d = 4;

myfunction(mystruct)

Dann kann man innerhalb der Funktion überprüfen welche Einträge des Structs vorhanden sind und gültige Werte enthalten.
Private Nachricht senden Benutzer-Profile anzeigen
 
madlab
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 86
Anmeldedatum: 15.05.12
Wohnort: Freiburg
Version: 7.11 (R2010b)
     Beitrag Verfasst am: 10.07.2012, 11:39     Titel:
  Antworten mit Zitat      
Hi Seer,

danke für den Tip!
Der Vorschlag mit dem struct als Werteübergabe ist super Smile

grüße,

mad
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.