How to write a 'for' loop?

1 visualización (últimos 30 días)
jljl
jljl el 30 de Ag. de 2012
Hi Everyone,
I can't seem to understand why this function using a for loop doesn't seem to work.
function y = get_kV(n,t)
for k = 1:(n-1)
y = [t(1) t t(end)];
end
I tried it out:
kV = [0 4];
kV = get_kV(3, kV);
The answer should be kv = [0 0 0 4 4 4]
But it only goes through the iteration once and stops. I've written the exact same code in the Command Window and that works but why doesn't it work when I save it as a .m file?
Thanks for any help or advice. Cheers!

Respuesta aceptada

Walter Roberson
Walter Roberson el 30 de Ag. de 2012
You are overwriting "y" in every iteration of the loop. Only the final version of "y" is returned to the calling routine.
  2 comentarios
jljl
jljl el 30 de Ag. de 2012
Thanks for the fast reply, do you have any suggestions to correct it so that the function works correctly?
Jan
Jan el 30 de Ag. de 2012
@jljl: Please accept an answer, if it solves your problem sufficiently.

Iniciar sesión para comentar.

Más respuestas (1)

Jan
Jan el 30 de Ag. de 2012
function y = get_kV(n,t)
y = repmat(t, n, 1);
y = y(:)'

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by