声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1394|回复: 7

[编程技巧] 自己写了个程序不能运行,帮看看

[复制链接]
发表于 2008-4-24 13:41 | 显示全部楼层 |阅读模式

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

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

x
刚学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=[m1 0 0;0 m2 0;0 0 m3];
%K=[k1+k2 -k2 0;-k2 k2+k3 -k3;0 -k3 k3+k4];
ydot=[y(2);-K*y(1)/M];

运行的时候提示

[ 本帖最后由 keyi1224 于 2008-4-24 13:49 编辑 ]
未命1.jpg
未命名1.jpg
回复
分享到:

使用道具 举报

 楼主| 发表于 2008-4-24 13:57 | 显示全部楼层

回复 3楼 的帖子

下面第二张图是方程
是关于 三个振子--弹簧的 振动系统求解
发表于 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=[y(2);-K*y(1)/M];

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

[ 本帖最后由 eight 于 2008-4-24 18:41 编辑 ]
发表于 2008-4-24 15:56 | 显示全部楼层
错误都写出来了,照着上面的改就行了!

[ 本帖最后由 eight 于 2008-4-24 18:41 编辑 ]
发表于 2008-4-24 16:01 | 显示全部楼层
这样的振动问题是不是应该先将质量矩阵和刚度矩阵解藕后比较好解啊
还有就是你的初始速度表达式写的是不是有点问题啊

评分

1

查看全部评分

发表于 2008-4-24 20:07 | 显示全部楼层
-K*y(1)/M的列数与y(2)的列数不等,所以不能组成矩阵。
试试改成-K*inv(M)*y(1)
还有一点问题就是,楼主的状态变量(y是状态变量吧?)怎么只有两个值y(1)和y(2)?如果是两个向量的话这样表示不行吧?——我对微分方程不是很熟,意见仅供参考。
发表于 2008-4-24 23:37 | 显示全部楼层
提问时最好能对其中的变量注释一下,你的y不知道是?*?的矩阵
发表于 2008-4-25 18:37 | 显示全部楼层
楼主的程序是不是受这个帖子的启发编的:http://forum.vibunion.com/forum/thread-48522-1-2.html
我试着按照此帖子的程序编,但是得出的结果全为零
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-29 05:32 , Processed in 0.062941 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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