Looping until threshold is met
6 次查看(过去 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 中查找有关 Loops and Conditional Statements 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!