主题:我的matlab有一个奇怪的问题
panxinyuan
[专家分:0] 发布于 2007-10-11 11:25:00
对一个简单的程序语句y=solve( 'D2y-2Dy-3*y=0 '),系统总是输不出结果,而且提示说too many input arguments
why ?help me
回复列表 (共2个回复)
沙发
blivfate [专家分:720] 发布于 2007-10-11 23:54:00
首先,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命令
板凳
kefan [专家分:310] 发布于 2007-10-12 00:24:00
呵呵, 二楼写错了,应该写成: y=dsolve('D2y-2*Dy-3*y=0')
:)
我来回复