필터 지우기
필터 지우기

Question on Initial value problem - error correction

조회 수: 3 (최근 30일)
Zeynep Toprak
Zeynep Toprak 2020년 4월 24일
댓글: Zeynep Toprak 2020년 5월 7일
Question
I create a script
function f = exercise711 (t, x)
f = t * x.^2;
end
And on the command window, I wrote
>> [t1, x1] = ode45(@exercise711, [0 1], 1);
>> plot(t1, x1)
>> hold on
>> [t2, x2] = ode45(@exercise711, [0 2], 1);
Warning: Failure at t=1.414192e+00. Unable to meet integration tolerances
without reducing the step size below the smallest value allowed
(3.552714e-15) at time t.
In ode45 (line 308)
>> plot(t2, x2)
here, for the interval [0 2], I get an error and the graph is wrong. Why? How can I correct it? Please help me to do this question in a correct way.
Thanks a lot.

채택된 답변

Ameer Hamza
Ameer Hamza 2020년 4월 24일
편집: Ameer Hamza 2020년 4월 24일
The result is correct, and it was the purpose of the exercise to show that the solution of an ODE can diverge to infinity. If you use symbolic toolbox to solve this equation, you can see that the analytical solution of this ODE is
and at , there is a singularity and the output become infinity. You can see in warning message that the issue also occurs at 1.414... In the interval [0,1] there is no singularity and MATLAB does not give any warning.
  댓글 수: 6
Ameer Hamza
Ameer Hamza 2020년 5월 7일
That question requires a bit of thinking. I will answer it if I get some ideas.
Zeynep Toprak
Zeynep Toprak 2020년 5월 7일
thanks a lot. In fact, very similart question is here
But, I am writing D1 matrix in wrong way. If I can correct it, this solution is valid, i think. Again, thank you for your consideration, and helping.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Programming에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by