ode 45 doesnt work
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
William Rose
2021-5-3
编辑:William Rose
2021-5-3
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 个评论
更多回答(1 个)
Cris LaPierre
2021-5-3
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Ordinary Differential Equations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!