More clear flow chart attached
Repeating for loop until getting a list of solution
2 次查看(过去 30 天)
显示 更早的评论
Hi to all
I'm not that good in Matlab and I tried to learn it. I used for loop to create a solution for each value of (n) and repeating the for loop. The for-loop is from 1 to 8760 while n is from 0 to 1 with increament of 0.1.
I want to repeat the for-loop for each (n) and finally make a vecto of [n, solution from for-loop]. Attached flow chart may explain more about what I want.
6 个评论
Rik
2020-3-17
Apart from the suggestion from Guillaume; I forgot to account for floating point rounding errors.
s=0;
for k=1:10
s=s+0.1;
end
clc
fprintf('%.53f\n',s) %not quite equal to 1
The solution in this case is to use a tolerance:
s==1 %returns false, because s is 0.99999999999999988897769753748434595763683319091796875
abs(s-1)<=2*eps %returns true
Sriram Tadavarty
2020-3-17
You could even break when s is greater than 1, example, the condition of if s > 1, can be placed, rather than s == 1 to deal with tolerance issues.
Or it can be directly placed a loop for 100 times, in each time 0.01 can be added.
回答(2 个)
Guillaume
2020-3-17
If it's a flow chart you've been given, then you are entitled to complain loudly. That flow chart is very misleading. The layout is a more representative of a while loop than a for loop.
This is what you're meant to do:
for n = 0:0.1:1 %represented by 4 boxes on the flow chart! (n = 0, for-loop, n=1?, increment by 0.1)
%do calculation inside the loop (1 box on the chart)
end
%get a vector of solution (1 box on the chart)
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!