This is my code. And these are the values it produces.
0 5.0000 9.6000 13.8320 17.7254 21.3074 24.6028 27.6346 30.4238 32.9899 35.3507
x = zeros(1,10);
for i = 1:10
x(i+1) = x(i) + ((5 - (4/50)*x(i)));
end
display(x)
I want the code to now run backwards now. I want to start at the 35.3507 value and run backwards now 10 times. But I cannot seem to make it work. Any help would be great.
Thanks

 采纳的回答

Here you go:
x = zeros(1,11);
for i = 11:-1:2
x(i-1) = x(i) + ((5 - (4/50)*x(i)));
end
display(x)
x =
35.351 32.99 30.424 27.635 24.603 21.307 17.725 13.832 9.6 5 0
You have to set the loop up to decrement, begin with 11, stop at 2, and decrement the index reference on the LHS of the assignment in the loop.

8 个评论

Thank you!! I see what I was doing wrong compared to yours.
My pleasure!
If my Answer solved your problem, please Accept it.
I will accept it. But I have one more question what if I wanted to start the process at a certain value instead. What would I do?
I would like the value to start at like 40 and then count down from there.
Thanks
If I understand correctly what you want to do, to start the loop from 40 and count down, just change the beginning loop index:
for i = 41:-1:2
To start at ‘N’, the loop index has to start at N+1 and stop at 2 because of the way the indexing works.
My pleasure.
Yes that is correct as to what I want to do.
My pleasure!
helped a lot, thanks!
My pleasure!

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心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!

Translated by