ode 45 doesnt work
1 view (last 30 days)
Show older comments
Hey' so im tring to solve this eq
this is the code' what im missing? why it dosent work?
y0 = [-1 ;8];
tspan = [0 ;3];
[t,y] = ode45(@(t,y) ((2*y^2*t + 4)/((3-t^2*y)*2)),tspan,y0);
plot(t,y)
grid on
xlabel('t')
ylabel('y')
title('Solutions of (2*y^2*t + 4)/((3-t^2*y)*2','interpreter','latex')
0 Comments
Accepted Answer
William Rose
on 3 May 2021
Edited: William Rose
on 3 May 2021
It doesn;t work because you define y0=[-1 8], a vector with 2 elements. Therefore ode45() gets into trouble when it tries to square this vector as it evaluates dydt.
If you define y0=-1 it works. See result below.
0 Comments
More Answers (1)
Cris LaPierre
on 3 May 2021
There is an issue with your initial conditions. See this post on how to set up an initial value problem when t ~= 0.
However, you may want to revisit either your equation or your initial values, as the result seems incorrect. Y values are extremely big.
y0 = 8;
tspan = [-1 3];
[t,y] = ode45(@(t,y) ((2*y^2*t + 4)/((3-t^2*y)*2)),tspan,y0);
plot(t,y)
grid on
xlabel('t')
ylabel('y')
title('Solutions of (2*y^2*t + 4)/((3-t^2*y)*2')
0 Comments
See Also
Categories
Find more on Ordinary Differential Equations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!