keyi1224 发表于 2008-4-24 13:41

自己写了个程序不能运行,帮看看

刚学MATLAB写了个程序,改了几次,还是不能运行,麻烦帮看看怎么处理比较好。
function ydot=hui(t,y,K,M,k,m)
%ydot(1)=y(2)
%ydot(2)=-Ky(1)/M
m1=1;m2=1;m3=1;k1=2;k2=2;k3=1;k4=2;
%M=;
%K=;
ydot=;

运行的时候提示

[ 本帖最后由 keyi1224 于 2008-4-24 13:49 编辑 ]

keyi1224 发表于 2008-4-24 13:57

回复 3楼 的帖子

下面第二张图是方程
是关于 三个振子--弹簧的 振动系统求解

sigma665 发表于 2008-4-24 14:09

function ydot=hui(t,y,K,M,k,m)

m1=1;m2=1;m3=1;k1=2;k2=2;k3=1;k4=2;

ydot=;

这里面m1m2赋值后都没有用到

[ 本帖最后由 eight 于 2008-4-24 18:41 编辑 ]

gdayang 发表于 2008-4-24 15:56

错误都写出来了,照着上面的改就行了!

[ 本帖最后由 eight 于 2008-4-24 18:41 编辑 ]

hezong120 发表于 2008-4-24 16:01

这样的振动问题是不是应该先将质量矩阵和刚度矩阵解藕后比较好解啊
还有就是你的初始速度表达式写的是不是有点问题啊

sogooda 发表于 2008-4-24 20:07

-K*y(1)/M的列数与y(2)的列数不等,所以不能组成矩阵。
试试改成-K*inv(M)*y(1)
还有一点问题就是,楼主的状态变量(y是状态变量吧?)怎么只有两个值y(1)和y(2)?如果是两个向量的话这样表示不行吧?——我对微分方程不是很熟,意见仅供参考。

zzm_3392 发表于 2008-4-24 23:37

提问时最好能对其中的变量注释一下,你的y不知道是?*?的矩阵

ch_j1985 发表于 2008-4-25 18:37

楼主的程序是不是受这个帖子的启发编的:http://forum.vibunion.com/forum/thread-48522-1-2.html?
我试着按照此帖子的程序编,但是得出的结果全为零
页: [1]
查看完整版本: 自己写了个程序不能运行,帮看看