声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1897|回复: 8

[线性振动] 为什么位移全算出来都为0?

[复制链接]
发表于 2011-3-17 21:04 | 显示全部楼层 |阅读模式

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

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

x
MATLAB里运行一下程序:
tspan=[0 50];
y0=zeros(6,1);
[t,y]=ode45(@zcx3fun,tspan,y0);
plot(t,y);grid;
hold on;
%%
函数.m文件:
function dy=zcx3fun(t,y)
%质量矩阵
M=eye(3,3);
%刚度矩阵
K=[4,-2,0;-2,3,1;0,1,3];
%阻尼矩阵
C=[8,-4,0;-4,6,3;0,3,3];
%%
%激振力矩阵
F=[sin(3*t);0;0]
%函数定义
x=y(1:3);
dx=y(4:6);
dy=[x;M\(F-K*x-C*dx)];
这样的代码,为什么运行结果出来后工作表中变量数值如下:
y(:,1)     y(:,2)       y(:,3)             y(:,4)                     y(:,5)                            y(:,6)
0        0        0        0.00027583        5.044e-006        -4.5144e-008
0        0        0        0.00060967        1.6558e-005        -2.5499e-007
0        0        0        0.0010649        3.8314e-005        -7.9677e-007
0        0        0        0.0016351        7.3123e-005        -1.8962e-006
0        0        0        0.0023141        0.00012347        -3.8438e-006
为什么前面应该是位移,怎么全为0?
后面速度为正余弦,跟解析解接近呢?
??、、???感觉我自己是不是有点理解错误了呢,请高手帮我解答下,谢谢!
回复
分享到:

使用道具 举报

发表于 2011-3-18 03:26 | 显示全部楼层
你自己想想这句对吗?
dy=[x;M\(F-K*x-C*dx)];

评分

1

查看全部评分

 楼主| 发表于 2011-3-18 08:55 | 显示全部楼层
回复 2 # appleseed05 的帖子

dy=[dx;M\(F-K*X-C*dX)];?
 楼主| 发表于 2011-3-18 09:08 | 显示全部楼层
非常感谢appleseed05在凌晨三点多给我回复的点拨,令人感动!我已经把上面一个例子结合5自由度一个振动微分方程组给算出来了!
发表于 2011-3-18 09:49 | 显示全部楼层
回复 2 # appleseed05 的帖子

哦,太敬业了
发表于 2011-3-18 12:16 | 显示全部楼层
能给出具体的解决方案就更好了!
发表于 2011-3-18 16:26 | 显示全部楼层
回复 3 # zhengshuhe 的帖子

这你是误会我了,我有7个小时的时差
发表于 2011-3-18 16:29 | 显示全部楼层
发表于 2011-5-9 22:30 | 显示全部楼层
回复 8 # appleseed05 的帖子

我是说楼主将这个帖子总结一下,给出个解决方案,方便后头人!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-1 05:24 , Processed in 0.075852 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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