回 帖 发 新 帖 刷新版面

主题:我的matlab有一个奇怪的问题

对一个简单的程序语句y=solve( 'D2y-2Dy-3*y=0 '),系统总是输不出结果,而且提示说too many input arguments
why ?help me

回复列表 (共2个回复)

沙发

首先,solve是用来解方程的,不能解微分方程。如果用solve执行你说的语句的话,要写成y=solve('D2y-2*Dy-3*y=0'),结果是这样的:y =
 
1/3*D2y-2/3*Dy
所以结果肯定不是你想要的。
要用dsolve命令来解的,这样的话,命令就是这样的:y=solve('D2y-2*Dy-3*y=0')
得到的结果是:
y =
 
C1*exp(-t)+C2*exp(3*t)

还可以增加初值来确定c1和c2,更多请运行help dsolve命令

板凳

呵呵, 二楼写错了,应该写成: y=dsolve('D2y-2*Dy-3*y=0')
:)

我来回复

您尚未登录,请登录后再回复。点此登录或注册