How to make a loop until the same result is obtained

2 views (last 30 days)
Hello,
I need help how to be used correctly in the loop, I have here a parameter table.
Example: I have k that place in the equation so i get d=23.83 and cheak if that no same ,continue until is same Out=d.
Thanks for the helpers
for k=[2.73 2.56 2.47 2.42 2.39]
d=130-(K*(350/9));
if d/130==[0.1 0.18 0.23 0.26 0.28]
Out=d
end
end
  8 Comments
Rik
Rik on 30 Nov 2020
So essentially you want to round to 2 decimals? Or do you have a variable number of digits you want to round to? And do you actually want to round the values, or just display them with 2 digits?
Emilia
Emilia on 30 Nov 2020
yes to round the values so
ans = 0.1833=0.18 compare to 0.1
ans = 0.2342=0.23 compare to 0.18
ans = 0.2611=0.26 compare to 0.23
ans = 0.2761=0.27 compare to 0.26
ans = 0.2850=0.28 compare to 0.28 => same number => Out=d=37.06

Sign in to comment.

Accepted Answer

Doris Brand
Doris Brand on 30 Nov 2020
Would that do it?
Out = 0;
for k=[2.73 2.56 2.47 2.42 2.39]
d=round((130-(k*350/9))/130,2);
if ismember(d, [0.1 0.18 0.23 0.26 0.28])
Out=d;
end
end
fprintf('Out=d=%3.2f\n',Out)

More Answers (0)

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!