Programación Específica > Matlab

 bucle abreviado

(1/1)

rodrikas:
Hola,

Respecto a la cuestión relacionada con la optimización del bucle for (que plantee ayer), dejo el script de forma más abreviada
(tan sólo con el bucle for) para que sea más fácil de interpretar. Muchas gracias por todo!

% Te dato
n=length(Te);
for i=1:n
syms L
d=52;
pi=3.1416;
L=solve(L-(9.81*Te(i)^2/(2*pi))*tanh((2*pi/L)*d));
end

Richi254:
Saca los datos d y pi fuera del bucle, de todas formas si son muchas iteraciones tardará mucho, prueba con while: por ejemplo:

% Te dato

k=0;
d=52;
pi=3.1416;    % MATLAB reconoce pi eh? no hace falta que lo crees.
while k<length(Te);
syms L
L=solve(L-(9.81*Te(i)^2/(2*pi))*tanh((2*pi/L)*d));
k=k+1;
end

A ver si así tarda menos, creo recordar que en estos casos era mejor usar while que for.
Suerte.

Navegación

[0] Índice de Mensajes

Ir a la versión completa