声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

楼主: pwangeng

[共享资源] 完整的支承松动数值仿真程序

  [复制链接]
发表于 2010-10-17 21:22 | 显示全部楼层
回复 雪缘 的帖子

不好意思   又有问题要麻烦你了

1、采样频率不是说最好是信号最高频率的3~5   可信号的最高频率也不知道啊   这个采样频率该怎么确定啊?
2、楼主的程序中N1=256,我觉得点数少   要是把它改成N1=length(y(:,1))可以吗?可是这样会提示“Warning: Integer operands are required for colon operator when used as index.> In plot(n,abs(YY1(1:N1/2)));grid on;” 这是什么意思啊?
3、
k=pi*2/882.5056;%882.5056转子固有频率sqrt(k/m2)
n=0:stepf*k:(fs/2-stepf)*k;


这个为什么要乘以k呢?
回复 支持 反对
分享到:

使用道具 举报

发表于 2010-10-18 05:45 | 显示全部楼层
发表于 2010-10-18 05:53 | 显示全部楼层
ruichard101 发表于 2008-5-12 10:34
程序里面的c就是dert=0.00011,也就是油膜力的平均厚度。个人感觉程序有点差异。
C=C/w;
K=K/w^2;
  1. tf=300000*2*pi/w;
复制代码
上面一句是主程序中的,从这里可以看出,楼主是在ode前进行的时间上的无量钢化,应该没问题

评分

1

查看全部评分

发表于 2010-10-18 05:59 | 显示全部楼层
mjtjiang 发表于 2010-9-29 10:59
你说的那个原文 Capone G. Descrizion analitica del campo di forze fluidodinamiconei cuscinetti cilind ...

问题一:
你的处理方法应该是没有问题的,不过要注意结果在量纲上的对照性

问题二:
这一句应该是楼主根据采样要求确定输出的步长等
发表于 2010-10-18 06:11 | 显示全部楼层
mjtjiang 发表于 2010-10-17 21:22
回复 雪缘 的帖子

不好意思   又有问题要麻烦你了

1. 从程序上看楼主转子的工作转速为2100转/分,你可以换算一下
2. N1是不能改动的,它是由前面求解方程的时候输出步长,输出信号的长度等确定的
h=pi/256;tf=300000*2*pi/w;
当然,非要改的话也是可以的,前面的步长,计算输出点等全都要同步改动
3. 因为楼主要输出的横坐标式频率比

评分

1

查看全部评分

发表于 2010-10-18 23:32 | 显示全部楼层
回复 happy 的帖子

谢谢你耐心回复我这么多啊

1、请问这个N1具体是怎么确定的啊?就是怎么算的?
2、
楼主的笔误,这里是对激振力进行无量钢化
c改成C就可以了

我把c改成C了,可运行提示
??? Error using ==> mrdivide
Matrix dimensions must agree.

Error in ==> fun at 89
F=F/C/w^2;

发表于 2010-10-19 14:16 | 显示全部楼层
本帖最后由 happy 于 2010-10-19 14:19 编辑
mjtjiang 发表于 2010-10-18 23:32
回复 happy 的帖子

谢谢你耐心回复我这么多啊

呵呵,个人惯性思维犯的一个小小失误
一般情况下C表示的是轴承间隙,刚才仔细阅读了一下程序发现楼主用C表示阻尼矩阵了
而轴承间隙用delta2=0.6e-3;%初始间隙

所以这里不应该改成C,而是改成delta2

读别人程序就容易犯这样的毛病
由于编辑时间已过,管理员帮忙修改一下前面帖子吧

评分

1

查看全部评分

发表于 2010-10-19 14:18 | 显示全部楼层
本帖最后由 happy 于 2010-10-19 14:18 编辑
mjtjiang 发表于 2010-10-18 23:32
回复 happy 的帖子

谢谢你耐心回复我这么多啊

这个N1主要要看你关心的最高频率是多少,然后同样以采样定理为基础
可以知道N1所需满足的最小值,在此基础上,结合你计算机的分析能力
以及你所能容忍的分析时间,尽可能取的较大一点
发表于 2010-10-20 22:17 | 显示全部楼层
回复 happy 的帖子

恕我愚钝  我还是没太明白你的意思
我理解的该程序里的h=pi/256为积分步长,也就是采样时间间隔,其倒数1/h也就是采样频率;tf=300000*2*pi/w为采样时长;tf/h 即得到数据点数;N1是FFT的采样点数,N1最好能与数据点数相等吧,若N1小于数据点数,也就只取数据的前N1个点数做傅里叶变换,若N1大于数据点数,就在原数据后补零。不知道我这样理解对不对。
这个N1主要要看你关心的最高频率是多少,然后同样以采样定理为基础
可以知道N1所需满足的最小值,在此基础上,结合你计算机的分析能力
以及你所能容忍的分析时间,尽可能取的较大一点

不知道你说的我关心的最高频率是什么意思,望再指教

发表于 2010-10-26 08:21 | 显示全部楼层
回复 happy 的帖子

又有问题不懂了
n=0:stepf*k:(fs/2-stepf)*k;
plot(n,abs(YY1(1:N1/2)));grid on;

为什么频率从0开始取,幅值从1开始取?
还有上次的问题还没解答  我天天等呢啊
发表于 2010-10-27 07:02 | 显示全部楼层
mjtjiang 发表于 2010-10-20 22:17
回复 happy 的帖子

恕我愚钝  我还是没太明白你的意思

首先h=pi/256不是积分步长,ode45采用的是自适应步长
这里的h=pi/256表示的是设定的时间序列输出时间间隔
换句话来说就是输出地时间序列的采样周期

第二个,楼主采用的是fft(x)的采用格式,实际对应的是DFT算法
系统是不会自动补零的,分析数据的长度是就是多长
如果要系统自动补零可以采用fft(x,n)的格式调用

除了这两点你的理解有点偏差,其它的都没有问题

至于最高频率值得就是你所希望看到的频率范围
从理论上说,任何一个结构的振动可以包含0-无穷的频率范围,显然对于高阶频率一般情况下振动非常小,所以我们一般不会关心这些成分,比如,航天工程中,一般关心的频率范围是 10~2000 Hz,那么我们就是需要了解这个范围内问题就可以了,一般适当增加一点,可以考虑到4000Hz左右
发表于 2010-10-27 07:04 | 显示全部楼层
mjtjiang 发表于 2010-10-26 08:21
回复 happy 的帖子

又有问题不懂了

1:N1/2表示的是YY1的下标
fft分析后得到的序列为1~N1,他表征的是N1个频率所对应得相对振动幅值
YY1(1)对应的是零频率

所以他是和n=0:stepf*k:(fs/2-stepf)*k;一致的
发表于 2010-10-27 10:09 | 显示全部楼层
回复 happy 的帖子


ode45采用的是自适应步长

其一般调用格式是[X,Y]=ode45(f,[x0,xn],y0) ,可楼主调用的格式是
tspan=0:h:tf;
y0=[0.05,0.5,0.05,0.5,0.05,0.5,0.05,0.5,0.05,0.5,0.05,0.5,0.05,0.5];
options=odeset('RelTol',10^-6,'AbsTol',10^-6);
[t,y]=ode45(@fun,tspan,y0);

其  tspan=0:h:tf 是给出了步长了啊,这怎么算呢?

发表于 2010-10-28 00:20 | 显示全部楼层
http://forum.vibunion.com/thread-17579-1-1.html
"ode45是变步长的不管怎么设置实际上都是变步长
当然你可以写成下面的形式返回定时间间隔的值
[T,Y] = ode45(odefun,[t0:dt:tf],y0...)"
发表于 2010-10-28 21:21 | 显示全部楼层
不知道是我表达能力的问题还是你理解能力的问题
前面的回答难道还不清楚吗?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-29 05:07 , Processed in 0.067280 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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