Iter rec - does it always have to be an integer?
2 次查看(过去 30 天)
显示 更早的评论
I'm just trying to set up some 'for' loops and I have a couple of arrays that don't go up in integer values. I've been using this kind of thing so far: -
iter=1;
for n=1:20;
y=n^2
yrec(iter)=y;
iter=iter+1;
end
How do I make it so the iter value is less than one?
1 个评论
Matt Fig
2012-11-2
I'm just trying to set up some 'for' loops and I have a couple of arrays that don't go up in integer values. I've been using this kind of thing so far: -
iter=1;
for n=1:20;
y=n^2
yrec(iter)=y;
iter=iter+1;
end
How do I make it so the iter value is less than one?
采纳的回答
Walter Roberson
2012-1-7
You cannot use non-integer indices for arrays. Instead, (for example)
iter=1;
itervals = [];
for n=1:20;
y = n^2
yrec(n) = y;
itervals(n) = iter;
iter = iter + 0.123;
end
Then yrec(K) is the yrec that corresponds to location itervals(K)
4 个评论
Walter Roberson
2012-1-9
iter=1;
itervals = [];
for n=1:20;
y = n^2
yrec(n) = y;
itervals(n) = iter;
iter = iter + 0.1;
end
The "for" loop controls how many times to execute, and when you choose to have that loop start from 1 and increment by 1 (the default) then the loop variable also gives you the array index you want to use. But the array index is not the same as the value of the point represented -- just like in the slope example, x(1) does not mean x=1 but rather means "the first x". The array itervals that I showed in my example code is recording the actual values for the coordinate.
For example, the array x = [2, 5, 7] is indexed at 1, 2, and 3; x(1) is 2, x(2) is 5, x(3) is 7. If you were using y=x.^2 then the corresponding y would be [4, 25, 49], so you would read off
x(1) is 2 and y(1) corresponds to the function value evaluated at x(1)
x(2) is 5 and y(2) corresponds to the function value evaluated at x(2)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!