Supponiamo di avere una funzione y (t, x) = exp (-t) * sin (x)Come generare una funzione di due variabili senza utilizzare alcun ciclo?
In Matlab, definisco
t = [0: 0.5: 5];
x = [0: 0.1: 10*2*pi];
y = zeros(length(t), length(x)); % empty matrix init
Ora, come posso definisco matrice y colpo utilizzando qualsiasi loop, tale che ogni elemento y (i, j) contenga il valore della funzione desiderata y a (t(i), x(j))
? Di seguito è riportato come l'ho fatto utilizzando un ciclo for.
for i = 1:length(t)
y(i,:) = exp(-t(i)) .* sin(x);
end
Non è sicuro che sia possibile - il ciclo richiede molto tempo per essere eseguito, o perché lo si desidera? –
Il loop non è un problema qui in questo semplice esempio. Ma voglio imparare il modo di farlo senza loop per vettori davvero grandi! – Aamir