ODE45 and dsolve result difference

24 次查看(过去 30 天)
Hi, i am struggling to get similar answer using ODE45 and dsolve. I dont know whats wrong? if any one can help, please.
-----------code using dsolve-------------------
syms x y(x)
Dy = diff(y);
Eq= diff(y,x,2)==2-2*Dy-8*x;
cond1 = y(0) == 1;
cond2 = Dy(0) == -2;
conds = [cond1 cond2];
Sol = dsolve(Eq,conds)
Sol = 
fplot(Sol,[0 2])
-----------code using ODE45-------------------
[x,y]=ode45(@twofirstorder,[0 2],[1 -2]);
plot(x,y)
function dydx = twofirstorder(x,y)
dydx(1)=y(2);
dydx(2)=2-2*y(2)-8*y(1);
dydx=dydx';
end

采纳的回答

Torsten
Torsten 2024-7-4,12:02
dydx(2)=2-2*y(2)-8*x;
instead of
dydx(2)=2-2*y(2)-8*y(1);

更多回答(0 个)

产品


版本

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by