Rückgabewerte in Matlab

Neue Frage »

Bjoern1982 Auf diesen Beitrag antworten »
Rückgabewerte in Matlab
Hallo,

es geht um folgendes:

Ich möchte gerne den Rückgabeparameter einer Funktion in einem anderen Script benutzen bzw diesen in bestimmte Rechnungen mit einbeziehen.
In Funktionen sind die Variablen und auch der Rückgabeparameter ja lokal und nicht global, mit einer "Globalisierung" funktionierte es aber auch nicht.

Wen es interessiert, es geht um folgendes Script:

Zitat:
1 trapez1(@f,0,3,2)
2 disp('Der Fehler beträgt ')
3 F(1)=abs(exp(sin(3))-1-ans)
4 for k=2:6
5 trapez1(@f,0,3,2^k)
6 disp('Der Fehler beträgt ')
7 F(k)=abs(exp(sin(3))-1-ans)
8 disp('Das Verhältnis zwischen altem und neuem Fehler beträgt ')
9 F(k-1)/F(k)
10 end


Wie man sieht habe ich in Zeile 3 und 7 mit "ans" getrickst, ich wollte aber eigentlich mit dem Rückgabeparameter der Funktion trapez1 arbeiten.
Ist bestimmt total einfach, aber ich kriegs irgendwie nicht hin unglücklich

Hat jemand einen Rat ?

Gruß Björn
555nase Auf diesen Beitrag antworten »

Wenn deine Funktion trapez1 einen Rückgabewert liefert kannst du den auch einer lokalen Variable zuweisen.
also z.B. erg1=trapez1(@f,0,3,2);
Die kannst du dann weiter benutzen.
Für die Ausgabe sieh dir mal disp und sprintf an, das ist u.U. geschickter, weil du zum Beispiel Kontrolle über das Ausgabeformat hast.
Bjoern1982 Auf diesen Beitrag antworten »

Alles klar, damit geht es.

Wegen der Ausgabe irritiert mich zudem noch, dass durch Zeile 6 und 7 immer der komplette Vektor als Fehler ausgegeben wird, wobei mich ja eigentlich immer nur der letzte Eintrag, also F(k) interessiert und ich diesen Eintrag mit F(k) ja auch ausdrücklich anspreche...woran liegt das bloß verwirrt

Durch Zeile 9 wird ganz normal immer nur EINE Zahl angezeigt, wie es auch sein soll...

Weisst du woran das liegen kann ?
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »