Looping until threshold is met
조회 수: 7 (최근 30일)
이전 댓글 표시
채택된 답변
Mathieu NOE
2021년 1월 20일
hello
yes - error is not initialized , and BTW, you are shadowing a native matlab function error , which is not good pratice (could led to conflicts or wrong output)
also , your while loop will never stop because the error is constant !
the output of your function is always 24
you can put a breakpoint where you compute I = h/3*(y(1) +even_sum + odd_sum + y(end));
even though each individual term on the RHS is evolving , the result remains exactly the same.
I checked the code of your 1/3 simpson rule and it's correct IMHO
in other words , you have demonstrated that doing this integral computation with always refined x vector does not change the integral value
추가 답변 (1개)
KALYAN ACHARJYA
2021년 1월 20일
You have to initialize "error" before the loop. The initial value must be less than a threshold value as defined. Also make sure that the error value is continuously increasing as the iteration progress, so that it definitely break loop condition.
댓글 수: 2
KALYAN ACHARJYA
2021년 1월 20일
Just make sure it will, otherwise, while loop runs continuously. You may check the code with sample 2/3 iteration manually.
error=abs(av_temp_simp13(iter)-av_temp_matlab);
참고 항목
카테고리
Help Center 및 File Exchange에서 Numerical Integration and Differential Equations에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!