自己写了个程序不能运行,帮看看
刚学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 编辑 ]
回复 3楼 的帖子
下面第二张图是方程是关于 三个振子--弹簧的 振动系统求解 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 编辑 ] 错误都写出来了,照着上面的改就行了!
[ 本帖最后由 eight 于 2008-4-24 18:41 编辑 ] 这样的振动问题是不是应该先将质量矩阵和刚度矩阵解藕后比较好解啊
还有就是你的初始速度表达式写的是不是有点问题啊 -K*y(1)/M的列数与y(2)的列数不等,所以不能组成矩阵。
试试改成-K*inv(M)*y(1)
还有一点问题就是,楼主的状态变量(y是状态变量吧?)怎么只有两个值y(1)和y(2)?如果是两个向量的话这样表示不行吧?——我对微分方程不是很熟,意见仅供参考。 提问时最好能对其中的变量注释一下,你的y不知道是?*?的矩阵 楼主的程序是不是受这个帖子的启发编的:http://forum.vibunion.com/forum/thread-48522-1-2.html?
我试着按照此帖子的程序编,但是得出的结果全为零
页:
[1]