声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1108|回复: 2

[编程技巧] 请教解微分方程组的问题

[复制链接]
发表于 2006-8-31 08:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
各位好!
       我现在想请教的问题是,解2阶微分方程组的问题,我的方程是这样的,
      M*D2X+C*DX+K*X=F;其中M是一个3*3的对角阵,C和K是一个3*3的对角阵,F是一个3*1的一列,
     例如:M=[10 0 0;0 20 0;0 0 34];C=[1 3  0;0 4  6; 3  7  8];K=[5 6 7;4 2 0;0 12  3];F=[10;20;30]
    这样的一个2阶方程组应该怎么解呢,
      

        我也想把它划成一阶微分方程组,可划完之后还是不会往下做了,希望各位指点迷津
回复
分享到:

使用道具 举报

发表于 2006-8-31 09:16 | 显示全部楼层
应该有不少方法吧,子空间迭代法呢?
 楼主| 发表于 2006-8-31 09:30 | 显示全部楼层
非常感谢您!
子空间迭代法,不太懂这个方法,能说的具体点不?
我在matlab中自己这样做的,可是出问题了function y=vdp_eq1(t,x,flag,k,c)
   y=[eye(3)*x(2);
       -k*x(1)-c*x(2)];
这是我编写的函数,x0=[0;0;0;0;0;0];k=[1 2 3;4 2 5;6 7 2];c=[3 5 6;4 4 7;3 5 7];[t1,y1]=ode45('vdp_eq1',[0,20],x0,h_opt,k,c),在matlab空间下运行这句话,就出现了这样的错误,??? Error using ==> funfun\private\odearguments
VDP_EQ1 must return a column vector.

Error in ==> ode45 at 171
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, ...
能给指点一下这是怎么回事啊?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-14 14:57 , Processed in 0.060154 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表