So erzeugen Sie eine Funktion von zwei Variablen ohne Verwendung von loop?

Angenommen ich habe eine Funktion y(t,x) = exp(-t)*sin(x)

In Matlab, definiere ich

t = [0: 0.5: 5];
x = [0: 0.1: 10*2*pi];
y = zeros(length(t), length(x)); % empty matrix init

Nun, wie definiere ich matrix y ohne Schleife, so dass jedes element y(i,j) enthält den Wert der gewünschten Funktion y an (t(i), x(j))? Unten ist, wie ich es mit einer for-Schleife.

for i = 1:length(t)
    y(i,:) =  exp(-t(i)) .* sin(x);
end
  • Nicht sicher kann man - ist die Schleife nehmen, um lange zu laufen, oder warum wollen Sie das?
  • Die Schleife ist nicht ein problem hier in diesem einfachen Beispiel. Aber ich will lernen, die Art und Weise, es zu tun, ohne Schleife für sehr große Vektoren!
InformationsquelleAutor Aamir | 2009-12-25
Schreibe einen Kommentar