mjtjiang
发表于 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呢?
happy
发表于 2010-10-18 05:45
huazaiwang 发表于 2007-10-21 13:38 static/image/common/back.gif
??? Undefined function or variable 'c'.
Error in ==> fun at 92
楼主的笔误,这里是对激振力进行无量钢化
c改成C就可以了
happy
发表于 2010-10-18 05:53
ruichard101 发表于 2008-5-12 10:34 static/image/common/back.gif
程序里面的c就是dert=0.00011,也就是油膜力的平均厚度。个人感觉程序有点差异。
C=C/w;
K=K/w^2;
tf=300000*2*pi/w;上面一句是主程序中的,从这里可以看出,楼主是在ode前进行的时间上的无量钢化,应该没问题
happy
发表于 2010-10-18 05:59
mjtjiang 发表于 2010-9-29 10:59 static/image/common/back.gif
你说的那个原文 Capone G. Descrizion analitica del campo di forze fluidodinamiconei cuscinetti cilind ...
问题一:
你的处理方法应该是没有问题的,不过要注意结果在量纲上的对照性
问题二:
这一句应该是楼主根据采样要求确定输出的步长等
happy
发表于 2010-10-18 06:11
mjtjiang 发表于 2010-10-17 21:22 static/image/common/back.gif
回复 雪缘 的帖子
不好意思 又有问题要麻烦你了
1. 从程序上看楼主转子的工作转速为2100转/分,你可以换算一下
2. N1是不能改动的,它是由前面求解方程的时候输出步长,输出信号的长度等确定的
h=pi/256;tf=300000*2*pi/w;
当然,非要改的话也是可以的,前面的步长,计算输出点等全都要同步改动
3. 因为楼主要输出的横坐标式频率比
mjtjiang
发表于 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;
happy
发表于 2010-10-19 14:16
本帖最后由 happy 于 2010-10-19 14:19 编辑
mjtjiang 发表于 2010-10-18 23:32 static/image/common/back.gif
回复 happy 的帖子
谢谢你耐心回复我这么多啊
呵呵,个人惯性思维犯的一个小小失误
一般情况下C表示的是轴承间隙,刚才仔细阅读了一下程序发现楼主用C表示阻尼矩阵了
而轴承间隙用delta2=0.6e-3;%初始间隙
所以这里不应该改成C,而是改成delta2
读别人程序就容易犯这样的毛病
由于编辑时间已过,管理员帮忙修改一下前面帖子吧
happy
发表于 2010-10-19 14:18
本帖最后由 happy 于 2010-10-19 14:18 编辑
mjtjiang 发表于 2010-10-18 23:32 static/image/common/back.gif
回复 happy 的帖子
谢谢你耐心回复我这么多啊
这个N1主要要看你关心的最高频率是多少,然后同样以采样定理为基础
可以知道N1所需满足的最小值,在此基础上,结合你计算机的分析能力
以及你所能容忍的分析时间,尽可能取的较大一点
mjtjiang
发表于 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所需满足的最小值,在此基础上,结合你计算机的分析能力
以及你所能容忍的分析时间,尽可能取的较大一点
不知道你说的我关心的最高频率是什么意思,望再指教
mjtjiang
发表于 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开始取?
还有上次的问题还没解答我天天等呢啊
happy
发表于 2010-10-27 07:02
mjtjiang 发表于 2010-10-20 22:17 static/image/common/back.gif
回复 happy 的帖子
恕我愚钝我还是没太明白你的意思
首先h=pi/256不是积分步长,ode45采用的是自适应步长
这里的h=pi/256表示的是设定的时间序列输出时间间隔
换句话来说就是输出地时间序列的采样周期
第二个,楼主采用的是fft(x)的采用格式,实际对应的是DFT算法
系统是不会自动补零的,分析数据的长度是就是多长
如果要系统自动补零可以采用fft(x,n)的格式调用
除了这两点你的理解有点偏差,其它的都没有问题
至于最高频率值得就是你所希望看到的频率范围
从理论上说,任何一个结构的振动可以包含0-无穷的频率范围,显然对于高阶频率一般情况下振动非常小,所以我们一般不会关心这些成分,比如,航天工程中,一般关心的频率范围是 10~2000 Hz,那么我们就是需要了解这个范围内问题就可以了,一般适当增加一点,可以考虑到4000Hz左右
happy
发表于 2010-10-27 07:04
mjtjiang 发表于 2010-10-26 08:21 static/image/common/back.gif
回复 happy 的帖子
又有问题不懂了
1:N1/2表示的是YY1的下标
fft分析后得到的序列为1~N1,他表征的是N1个频率所对应得相对振动幅值
YY1(1)对应的是零频率
所以他是和n=0:stepf*k:(fs/2-stepf)*k;一致的
mjtjiang
发表于 2010-10-27 10:09
回复 happy 的帖子
ode45采用的是自适应步长
其一般调用格式是=ode45(f,,y0) ,可楼主调用的格式是
tspan=0:h:tf;
y0=;
options=odeset('RelTol',10^-6,'AbsTol',10^-6);
=ode45(@fun,tspan,y0);
其tspan=0:h:tf 是给出了步长了啊,这怎么算呢?
ChaChing
发表于 2010-10-28 00:20
http://forum.vibunion.com/thread-17579-1-1.html
"ode45是变步长的不管怎么设置实际上都是变步长
当然你可以写成下面的形式返回定时间间隔的值
= ode45(odefun,,y0...)"
happy
发表于 2010-10-28 21:21
不知道是我表达能力的问题还是你理解能力的问题
前面的回答难道还不清楚吗?