Question on Initial value problem - error correction
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Zeynep Toprak
el 24 de Abr. de 2020
Comentada: Zeynep Toprak
el 7 de Mayo de 2020
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.
0 comentarios
Respuesta aceptada
Ameer Hamza
el 24 de Abr. de 2020
Editada: Ameer Hamza
el 24 de Abr. de 2020
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 comentarios
Ameer Hamza
el 7 de Mayo de 2020
That question requires a bit of thinking. I will answer it if I get some ideas.
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

