dollfish000 发表于 2015-11-22 21:10
有些人并不是来回答问题的,而是想看楼主是怎么计算前半部分的。
不管楼主是怎么求得到时域图的,只要他给 ...
从楼主提的问题很明显是一个刚刚接触相关问题的新手
另外楼主无非算一个不平衡响应,真不知道其代码对别人有多少作用?
反倒是总想避开论坛,私下讨论的行为有待商榷
有的时候不需要把别人想的太阴暗 lihaotian 发表于 2015-11-23 14:30
用有限元法做的,我的盘质量分布在第二个节点,每个节点四个自由度。画轴心轨迹的时候,不是应该取第二个 ...
不一定是前两列数据,主要看你的方程处理后的变量是如何排列的
应该用同一节点的x,y两个方向对应的数据来绘制轴心轨迹 kkkttt 发表于 2015-11-23 14:58
从楼主提的问题很明显是一个刚刚接触相关问题的新手
另外楼主无非算一个不平衡响应,真不知道其代码对别 ...
好吧,您说的有道理,私下论坛里面有人找我要程序的,我都给了,之所以不在论坛上直接把我的程序公开,导师说过,不能随便把这些东西给别人。行吧,这或许也是中国高校教育体制的现实。我自己太阴暗了。不过谢谢您的帮助! TestGuru 发表于 2015-11-23 09:46
"1.这个400是筛选了时域里面频率为400的,然后画出的频率为400的时域图吗?"--- 不是,采样率400HZ表示可 ...
fs=400; %采样频率
N=length(u_Result(:,1)); % %采集数据样本数
figure(1);
subplot(211);
plot(t,u_Result(:,5));%作时域波形
xlabel('频率HZ');%标记横坐标
ylabel('幅值m');%标记纵坐标
title('弯曲时域图');%绘图设置标题
grid on;
%进行FFT变换并做频谱图
y=fft(u_Result(:,5),N);%进行fft变换
mag=abs(y);%求幅值
f=(0:length(y)-1)'*fs/length(y);%进行对应的频率转换
subplot(212);
plot(f,mag);%做频谱图
xlabel('频率(Hz)');
ylabel('幅值');
title('幅频谱图');
%axis()
set(gca,'xlim',) ;
grid on;
就是这个,u-Result是输出节点位移列向量,一共14个节点,56个自由度,我现在采集第六个自由度也就是第二个节点Y方向的位移做的时域图,X=,我就搞不懂这个是几个意思了 TestGuru 发表于 2015-11-23 09:46
"1.这个400是筛选了时域里面频率为400的,然后画出的频率为400的时域图吗?"--- 不是,采样率400HZ表示可 ...
FFT画图
lihaotian 发表于 2015-11-23 14:23
频响图
应该不是fs=400; %采样频率频谱图是对时域图的一个分析表示,可以明确表达时域信号由哪几个频率的信号构成
N=length(u_Result(:,1)); % %采集数据样本数一般为2的N次方,length()是取()内的长度也就是维数。
figure(1);
plot(t,u_Result(:,6));%作时域波形
xlabel('t/s');%标记横坐标
ylabel('Amplitude/rad');%标记纵坐标
% title('弯曲时域波形图');%绘图设置标题
% figure resize
set(gcf,'Position',);
set(gca,'Position',[.13 .17 .80 .74]);
figure_FontSize=8;
set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top');
set(get(gca,'YLabel'),'FontSize',figure_FontSize,'Vertical','middle');
set(findobj('FontSize',10),'FontSize',figure_FontSize);
% set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',2);
grid on;
figure(2);
y=fft(u_Result(:,6),N);%进行fft变换
mag=abs(y);%求幅值
f=(0:length(y)-1)'*fs/length(y);%进行对应的频率转换
plot(f,mag);%做频谱图
grid on;
xlabel('Frequency ratio');
ylabel('Amplitude/rad');
%axis();
set(gca,'xlim',) ;
% figure resize
set(gcf,'Position',);
set(gca,'Position',[.13 .17 .80 .74]);
figure_FontSize=8;
set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top');
set(get(gca,'YLabel'),'FontSize',figure_FontSize,'Vertical','middle');
set(findobj('FontSize',10),'FontSize',figure_FontSize);
% set(findobj(get(gca,'Children'),'LineWidth',0.45),'LineWidth',2);
figure(3);
x1=u_Result(:,5);
c1=max(abs(u_Result(:,5)));
x2=x1/c1;
y1=u_Result(:,6);
c2=max(abs(u_Result(:,6)));
y2=y1/c2;
plot(x2,y2);%轴心轨迹
最后的轴心轨迹我用归一化了,真实数据处理不好,我试着归一化,还是不行。还在调试,没有修改过来 kkkttt 发表于 2015-11-20 15:18
1.这个400是筛选了时域里面频率为400的,然后画出的频率为400的时域图吗?
建议去了解一下采样频率的概 ...
这个是频响图,看样子像对的,麻烦帮忙确认下,谢谢了!
lihaotian 发表于 2015-11-23 15:24
FFT画图
简单看了一下你的FFT程序
程序变换应该没有问题
但是你这里的结果应该是有问题的,从结果上看其振动频率是1HZ
显然和你前面的描述不符
你确定你的数据是1000r/min的数据?且采样频率是400HZ? lihaotian 发表于 2015-11-23 15:22
fs=400; %采样频率
N=length(u_Result(:,1)); % %采集数据样本数
figure(1);
另外你说的X=是什么意思,代码中没有看到相关的语句 lihaotian 发表于 2015-11-23 15:28
应该不是
最后的轴心轨迹我用归一化了,真实数据处理不好,我试着归一化,还是不行。还在调试,没有修改 ...
综合你上面的描述,个人怀疑你的问题是出现在u_Result的采样上,而不是别的问题 kkkttt 发表于 2015-11-23 21:20
简单看了一下你的FFT程序
程序变换应该没有问题
但是你这里的结果应该是有问题的,从结果上看其振动频 ...
对,这个地方确实1HZ,怎么回事啊?我看人家文献里面出图都有倍频现象,我这来个1HZ,轴心轨迹画出来了,是原始输入数据地方力的方向给的不对,现在轴心轨迹对了。就剩这个幅值谱图了,x=,是在0:200HZ里面显示不出具体在x为几HZ出现较大振幅,所以认为重置了横坐标频率范围。但是现在这个解决不了了。 lihaotian 发表于 2015-11-23 15:22
fs=400; %采样频率
N=length(u_Result(:,1)); % %采集数据样本数
figure(1);
19楼,mag 交流分量要乘以2除以N吧!
直流分量要除以N即可,但是一般你不关心。 lihaotian 发表于 2015-11-25 09:11
对,这个地方确实1HZ,怎么回事啊?我看人家文献里面出图都有倍频现象,我这来个1HZ,轴心轨迹画出来了, ...
因为你的代码中没有涉及u_Result的来源,猜测应该是数值计算得到的
出现这种情况个人理解应该是你的采样出了问题,换句话来说你模拟输出得到的u_Result采样频率并不是你所说的400
页:
1
[2]