Plotten von m-files < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 15:09 So 18.05.2008 | Autor: | Manuel24 |
Hi,
ich will ein m-file mit mehreren (4) Eingangsvariablen plotten, wobei nur eine variieren soll.
Hab mir einen Vektor x=0:1:100 definiert und dann y='m-file'(x,1,10,30) (wobei halt 1,10,30 fest bleiben sollen) definiert und dann plot(x,y). Aber er rechnet dann 'm-file'(0,1,2,3) und dann 'm-file'(4,5,6,7) und wenn ihm x "alle gegangen ist" nimmt er irgendwas. Wie geht das nun richtig? Ich hoffe auf eine schnelle Antwort und schonmal danke im Vorraus
Manuel
|
|
|
|
Hallo,
du gehst hier implizit davon aus, dass die Funktion in dem m-File vektorisiert ist, also Vektoren elementweise arbeitet. Das scheint sie aber nicht zu tun. Also gibt es mehrere Möglichkeiten:
1. Du modifizierst das m-File so, dass die Funktion auch mit Vektoren als Eingabewerte klarkommst. Das geht natürlich nur, wenn die Funktion nicht allzu kompliziert ist und sich auch so umschreiben lässt.
2. Du führst den Funktionsaufruf in einer for-Schleife durch, die alle Werte des Argumentvektors durchläuft und speicherst die Ergebnisse Element für Element in deinem Ergebnisvektor.
3. Du verwendest die Funktion arrayfun, falls sie in deiner Matlab-Version vorhanden ist. Dies ist so in etwa eine Entsprechung der zweiten Variante, sollte aber schneller sein.
Gruß
Martin
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 15:29 Mo 19.05.2008 | Autor: | Manuel24 |
Ich danke dir, ich kenne mich nicht so mit matlab aus, weil ich bis jetzt immer maple bzw c genutzt habe, aber nun gezwungen werde matlab zu benutzen.
Aber so funktioniert es.
|
|
|
|