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!