Matlab, Funktionswerte in Vektor speichern?
Hallo,
eines beschäftigt mich schon etwas länger, wenn ich mit dem Programm Matlab arbeite:
Gegeben ist ein Zeitvektor 't = 0:0.1:1'
und eine Funktion 'y = 3x^3'
als x-Wert soll jeder Wert des Vektors t (also insgesamt 101 Werte) in einer for-Schleife eingesetzt werden.
Die Ergebnisse (also auch insgesamt 101) hätte ich gerne in einem neuen Zeilen-Vektor.
Ziel ist es, am Ende des Programms einen Vektor zu haben, in welchem die einzelnen Funktionswerte abgespeichert werden, die durch Einsetzen der Werte von t entstehen.
Wie kann ich das am besten programmieren?
Danke im voraus!
Viele Grüße
1 Antwort
Erst einmal hat der Vektor t den du erstellst du 11 Elemente. Du gehst in 0,1 Intervallen von 0 bis 1 einschließlich. Wenn du 101 haben willst, musst du in 0,01 Schritten gehen.
Die Berechnung benötigt keine For Schleife oder sowas in der Richtung. Es genügt, wenn du deinen Werte-Vektor Elementweise in deine Funktion y einsetzt. Das geht, indem du vor jede Multiplikation oder Division einen Punkt schreibst. Dein Code sähe dann so aus
t = 0:0.01:1;
y = 3.*t.^3;
Als Ergebnis erhälst du einen Zeilenvektor. Diesen kannst du nun einfach transponieren.
y_spaltenvektor = transpose(y);
Das mit den 101-Schritten war leider ein Tippfehler...
Danke, das hat schon mal geklappt. Nur würde ich gerne vom Nutzer über input eine Funktion eingeben lassen. Das Programm soll dann den Wert des Minimums und des Maximums in einem bestimmten Intervall ausgeben:
Ich wollte den Vektor t dann über zwei Input-Grenzen definieren und damit die gegebene Funktion berechnen. Wenn ich dann anschließend einen Vektor hätte mit den ganzen Funktionswerten, könnte ich mit den Befehlen "min" oder "max" die Minimal-und Höchstwerte über fprintf ausgeben.
Deshalb wollte ich diesen y-Vektor über eine for-Schleife füllen. -Ist das so irgendwie möglich?