Backward Loop Question- Help
1 view (last 30 days)
Show older comments
WhatIsMatlab-
on 8 Feb 2016
Commented: Star Strider
on 8 Feb 2016
I am trying to get the code to start at a certain value lets say 80 and start counting down from there. But I am struggling to see where to put this information into my code to make this happen.
xdt3 = 5;
xt03 = 0;
xtf3 = 60;
xt3 = xtf3:-xdt3:xt03;
x3 = zeros(1,13);
for i = length(xt3):-1:2
x3(i-1) = x3(i) - ((5 - (4 /50)*x3(i)))*xdt3;
end
Accepted Answer
Star Strider
on 8 Feb 2016
You have to make the appropriate modifications to my previous code to make your new step size work:
xdt3 = 5;
xt03 = 0;
xtf3 = 60;
xt3 = xtf3:-xdt3:xt03;
x3 = zeros(1,13*xdt3);
for i = xtf3:-xdt3:xdt3+1
x3(i-xdt3) = x3(i) - ((5 - (4 /50)*x3(i)))*xdt3;
end
This runs, so you have to decide if it gives you the result you want. Note that MATLAB will skip the indices you do not address, resulting in a significant number of zero
values in your vector. You may also want to change the initial line in the for loop to:
for i = xtf3+xdt3:-xdt3:xdt3+1
2 Comments
Star Strider
on 8 Feb 2016
My pleasure!
Also, if you want only the non-zero values, this works:
X3 = x3(x3~=0);
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!