Rückgabewerte Funktion < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 18:14 Mi 12.09.2007 | Autor: | moya81 |
Hallo,
ich möchte in einer while Schleife auf einen Rückgabewert einer von mir geschriebenen Funktion zugreifen. Mein Problem ist, dass die Funktion mehrere Werte zurück gibt, ich aber immer einen bestimmten brauche.
Also ungefähr so
function[a, b]= testfunktion(x, y, z)
.....
while testfunktion(x1, x2, x3)<25
wobei ich dann nur auf a oder nur auf b zugreifen will, so wie es da steht bekomme ich immer a.
Danke schon mal im vorraus!
|
|
|
|
Hallo,
mir ist nichts Besseres bekannt als folgende Lösung:
Wir nehmen den kompletten Ergebnisvektor, vergleichen ihn (in diesem Falle) mit 25, blenden (mit elementweiser Mulitplikation .*) die unnötigen Vergleiche aus und schauen (mit any), ob der Vergleich, auf den es ankommt, 1 liefert.
Für dein Beispiel (wir wollen a vergleichen):
while any((testfunktion(x1, x2, x3)<25).*[1, 0])
Für b würden wir mit [0, 1] multiplizieren.
> so wie es da steht bekomme ich immer a.
Eigentlich nicht. So wie es da steht, ist der Vergleich nur dann wahr, wenn SOWOHL a ALS AUCH b kleiner als 25 sind.
Gruß
Martin
|
|
|
|