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

 Accepted Answer

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 Comments

Thank you!! I see what I was doing wrong compared to yours.
My pleasure!
If my Answer solved your problem, please Accept it.
WhatIsMatlab-
WhatIsMatlab- on 8 Feb 2016
Edited: WhatIsMatlab- on 8 Feb 2016
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!

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!