Error tolerance in matlab
이전 댓글 표시
I'm using R2022a: I received this when I tried solve of mixed PDEs using finite difference method.
Warning: Failure at t=6.122922e-01. Unable to meet integration tolerances without reducing the step size below the
smallest value allowed (1.776357e-15) at time t.
댓글 수: 3
Star Strider
2022년 10월 6일
That indicates that your function has a singularity (±Inf) at that point.
Plotting the function is the easiest way to figure out what the problem is. If it’s inherent in the problem itself, there may not be much you can do about it other than to reformulate it to avoid the singularity. If it’s a coding error, that can be remedied.
University Glasgow
2022년 10월 6일
Star Strider
2022년 10월 6일
My pleasure!
채택된 답변
추가 답변 (1개)
Torsten
2022년 10월 6일
0 개 추천
The ode integrators try to guarantee a predefined error tolerance when solving your system of ordinary differential equations. If they cannot succeed (even by reducing the stepsize dt to a very small value), they give up.
Usual reasons are errors in the implementation, singularities in the solutions for the differential equations etc.
댓글 수: 4
University Glasgow
2022년 10월 6일
University Glasgow
2022년 10월 6일
Torsten
2022년 10월 6일
I mean integrate up to t=0.6 and write out "rhsode" to inspect its values.
Further plot the solution up to 0.6 to see if it looks as expected.
카테고리
도움말 센터 및 File Exchange에서 Boundary Conditions에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!