Matlab Funktion überladen < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 14:39 Sa 26.02.2011 | Autor: | drAb |
Hallo zusammen,
ich möchte eine Matlab Funktion überladen, leider finde ich keine gute Erklärung dafür.
Das Ergebnis sollte so sein, dass wenn ich my_fun mit verschiedenen Parameterlisten aufrufe jeweils eine andere Routine laufen soll.
z.B.
my_fun(1 , 4)
oder
my_fun(1)
sozusagen sollte die "4" im Bsp. ein optionaler Parameter sein.
Danke für eure Bemühungen.
drAb
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 22:58 Sa 26.02.2011 | Autor: | felixf |
Moin!
> ich möchte eine Matlab Funktion überladen, leider finde
> ich keine gute Erklärung dafür.
"Richtiges" Ueberladen gibt es in MATLAB nicht; bei Klassen kann man gewisse Dinge ueberladen, ansonsten muss man sich mit nargin behelfen.
> Das Ergebnis sollte so sein, dass wenn ich my_fun mit
> verschiedenen Parameterlisten aufrufe jeweils eine andere
> Routine laufen soll.
>
> z.B.
> my_fun(1 , 4)
> oder
> my_fun(1)
Die Variable nargin sagt dir in der Funktion, wieviele Parameter tatsaechlich uebergeben wurden. Wenn nargin also den Wert 1 hat, dann wurde die zweite Fassung aufgerufen.
LG Felix
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 19:32 So 27.02.2011 | Autor: | drAb |
Besten Dank für deine Lösung. Ich habe es nun so implementiert. Und es funktioniert wunderbar. Desweiteren habe ich gesehen, dass es die Matlab eigenen Funktionen auch so lösen.
Danke und Gruss
drAb
|
|
|
|