zhangzhengtao 发表于 2007-2-20 23:37:00

如何用MAPLEQ求解有初值的微分方程组

我才学习Maple,想求解一个包含初始值的微分方程组,但老不对,我是这样写的,请大家指教,谢谢
sys:={diff(x(t),t)=y(t)-5*cos(t),diff(y(t),t)=2*x(t)+y(t)};
sol:=dsolve({sys,x(0)=1,y(0)=1},{x(t),y(t)},numeric);

mathfan2008 发表于 2007-2-25 16:56:16

我对照帮助文件中的例子试了一下。
> sys1 := diff(x(t), t) = y(t)-5*cos(t);
                  d                        

                   --- x(t) = y(t) - 5 cos(t)

                  dt                     
> sys2 := diff(y(t), t) = 2*x(t)+y(t);
                     d                     

                  --- y(t) = 2 x(t) + y(t)

                     dt                     
> dsolve({sys1, sys2});
{x(t) = exp(-t) _C2 + exp(2 t) _C1 - 2 sin(t) - cos(t),



    y(t) = -exp(-t) _C2 + 2 exp(2 t) _C1 + 3 cos(t) + sin(t)}
> ics := x(0) = 1, y(0) = 1;
                     x(0) = 1, y(0) = 1
> dsolve({sys1, sys2, ics});
{y(t) = -2 exp(-t) + 3 cos(t) + sin(t), x(t) = 2 exp(-t) - 2 sin(t) - cos(t)}

mathfan2008 发表于 2007-2-25 17:12:49

呵呵,再试试!

呵呵,我又尝试用Maple内置的Assistants -> ODE Analyzer,或者敲命令 >(dsolve)(); 解上面的方程,挺好。

dabing437 发表于 2008-9-1 15:30:10

:handshake

yghit 发表于 2008-11-8 20:46:59

新手-给你跑一下

dsolve({diff(x(t),t)=y(t)-5*cos(t),diff(y(t),t)=2*x(t)+y(t),x(0)=1,y(0)=1},{x(t),y(t)});
我运行了一下,可以,你后面加numeric是做数值解,不一定准确,没有显示出来可能是因为你的结果是数值解,这时你可以通过赋值给t,再键入相关的值,比如y(5),x(4)这样就能输出结果来。所以一般先不做数值解。如果得到的结果不如意时可以考虑用级数解。
页: [1]
查看完整版本: 如何用MAPLEQ求解有初值的微分方程组