MATLAB求解微分方程答案不对~~

2025-05-13 08:33:27
推荐回答(2个)
回答(1):

matlab 考虑了复数, 导致结果复杂化.

可以用不太严格的方法把复数域的解和实数域的解建立联系

这种情况下matlab的解只能用作参考.

 

如果还是希望用matlab, 可以尝试用数值解法.

也能达到很高的精确度.

下面这张图是用数值解法(ode45)求解的.

蓝线是y的数值解.

红色记号是精确解.

可以看到, 两者几乎重合, 说明数值解法精确度还是很高的.

回答(2):

楼主啊,你的方程写错了吧,要是y''+4y'+3y=0,这个的解才是 exp(-3*t)+4*exp(-t);
dsolve('D2y+4*Dy+3*y=0','y(0)=5','Dy(0)=-7')

ans =

exp(-3*t)+4*exp(-t)
是否可以解决您的问题?