MODIFICAR MÉTODO MATLAB ECUACIONES EN DIFERENCIAS
Publicado por HBG (1 intervención) el 02/06/2016 20:29:22
Hola, les escribo porque no consigo resolver este ejercicio.
Nos dan este código:
function y=ediff(n)
y(1)=3;
y(2)=2;
for i=3:n
y(i)=y(i-1)/y(i-2)+floor((i-2)/2);
end
El problema es que para todo n<3, la consola nos devuelve como salida el vector [3 2]. Me pide que explique el porqué y que lo arregle. Obviamente al tener asignados los valores y(1)=3, y(2)=2; si introducimos n<3 no entra en el for y devuelve los valores previamente asignados, pero no sé como puedo arreglarlo, ya que he probado con una serie de if encadenados pero entonces el bucle for no funciona.
Nos dan este código:
function y=ediff(n)
y(1)=3;
y(2)=2;
for i=3:n
y(i)=y(i-1)/y(i-2)+floor((i-2)/2);
end
El problema es que para todo n<3, la consola nos devuelve como salida el vector [3 2]. Me pide que explique el porqué y que lo arregle. Obviamente al tener asignados los valores y(1)=3, y(2)=2; si introducimos n<3 no entra en el for y devuelve los valores previamente asignados, pero no sé como puedo arreglarlo, ya que he probado con una serie de if encadenados pero entonces el bucle for no funciona.
Valora esta pregunta


0