liukeyan 发表于 2007-6-24 18:49

dsolve的问题

解微分方程组,程序咋不出解呢?望高手指点

=dsolve('Dx+214*x+134.03*y+186.43*z-0.25925*f-24748=0',...
    'Dy+161.05*x+300.96*y+72.446*z+0.5185*f+49498=0',...
    'Dz+159.41*x+99.463*y+275.58*z-0.25925*f-24748=0',...
    'Df+12.962*x-25.925*y+12.962*z+3*f=0','x(0)=0,y(0)=0,z(0)=0,f(0)=0','t')

yf2002043227 发表于 2007-6-24 19:02

不是不出结果,是算不过来,建议用ode45求解,我以前也遇到过这种情况

liukeyan 发表于 2007-6-24 19:09

出结果,但是x为空的符号向量,其余变量为一般变量,很奇怪!为什么性质还不一样?哪怕出个得零的解,我也认了
不到万不得已不想用数值解,呵呵

yf2002043227 发表于 2007-6-24 19:19

你算了多长时间出结果,用你的程序,我怎么算不出来?

不知道你要得结果是这样的吗?
m文件:
function dy = rigid(t,y)
dy = zeros(4,1);    % a column vector
dy(1) =-(214*y(1)+134.03*y(2)+186.43*y(3)-0.25925*y(4)-24748);
dy(2) =-(161.05*y(1)+300.96*y(2)+72.446*y(3)+0.5185*y(4)+49498);
dy(3) =-(159.41*y(1)+99.463*y(2)+275.58*y(3)-0.25925*y(4)-24748);
dy(4) =-(12.962*y(1)-25.925*y(2)+12.962*y(3)+3*y(4));

窗口命令:
= ode45(@rigid,,);
plot(t,Y(:,1),'-',t,Y(:,2),'-.',t,Y(:,3),'.',t,Y(:,4))

[ 本帖最后由 ChaChing 于 2010-6-14 00:24 编辑 ]

liukeyan 发表于 2007-6-24 21:28

能出结果,如下:

x =
[ empty sym ]
y =
   []
z =
   []
f =
   []   

双击打开y.z.f,显示‘the variable is empty’

[ 本帖最后由 ChaChing 于 2010-6-14 09:35 编辑 ]

spano 发表于 2007-6-24 23:03

贴了你的程序可以算出来,不过很费时间,结果还很复杂。
:@L 太大了,放不上来

[ 本帖最后由 ChaChing 于 2010-6-14 00:26 编辑 ]

liukeyan 发表于 2007-6-27 18:56

这到底是为什么啊???有没有遇到过类似情况的?

咕噜噜 发表于 2007-6-27 19:34

可能1、你的电脑内存不够大
      2、微分方程组维数过大
看情况是第一种

xjzuo 发表于 2007-6-28 10:47

用Mathematica试试.
页: [1]
查看完整版本: dsolve的问题