How to write a 'for' loop?

1 次查看(过去 30 天)
jljl
jljl 2012-8-30
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!

采纳的回答

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

请先登录,再进行评论。

更多回答(1 个)

Jan
Jan 2012-8-30
function y = get_kV(n,t)
y = repmat(t, n, 1);
y = y(:)'

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by