请教振型系数是什么意思?
阅读了王济、胡晓的著作《MATLAB在振动信号处理中的应用》受益匪浅。但是对书中的一个名词不太理解——“振型系数”。例如,在本书183页,输出结果中的“振型系数”具体是什么意义。书中所说的振型系数是指的振型参与系数吗?还是指的测点的相对位移?还是有别的其他意义。希望前辈能在百忙之中给我指点一下。谢谢!clear
clc
close all hidden
format long
fni=input('ITD法模态参数识别-输入数据文件名:','s');
fid=fopen(fni,'r');
mn=fscanf(fid,'%d',1);
ig=fscanf(fid,'%d',1);
f=fscanf(fid,'%f',1);
fno=fscanf(fid,'%s',1);
b=fscanf(fid,'%f',);
status=fclose(fid);
nm=2*mn;
if ig==1
sf=f;
n=fix(length(b)/2);
h=b(1,1:2*n)';
dt=1/sf;
t=0:dt:(2*n-1)*dt;
else
df=f;
n=length(b(1,:));
f=0:df:(n-1)*df;
H=b(1,:)'+b(2,:)'*i;
H(n+1)=real(H(n));
H(n+2:2*n)=conj(H(n:-1:2));
h=real(ifft(H));
t=linspace(0,1/df,2*n);
dt=t(2)-t(1);
end
L=length(h);
M=L/2;
for k=1:nm
x1(k,:)=h(k:L-(nm-k+1))';
x2(k,:)=h(k+1:L-(nm-k))';
end
B=x2*x1'*inv(x1*x1');
=eig(B);
for k=1:nm
U(k)=V(k,k);
end
F1=abs(log(U'))./(2*pi*dt);
D1=sqrt(1./(((imag(log(U'))./real(log(U'))).^2)+1));
l=1;
for k=0:(2*n-1)
Va(k+1,:)=;
end
S1=(inv(conj(Va')*Va)*conj(Va')*h);
h1=real(Va*S1);
figure(1)
plot(t,h,':',t,h1);
xlabel('时间');
ylabel('幅值');
legend('实测','拟合');
grid on;
if ig>1
H1=fft(Va*S1);
figure(2)
nn=1:n;
subplot(2,1,1);
plot(f,real(H(nn)),':',f,real(H1(nn)),'r');
xlabel('频率');
ylabel('实部');
legend('实测','拟合');
grid on;
subplot(2,1,2);
plot(f,b(2,:),':',f,imag(H1(nn)),'r');
xlabel('频率');
ylabel('虚部');
legend('实测','拟合');
grid on
end
=sort(F1);
m=0;
for k=1:nm-1
if F2(k)~=F2(k+1)
continue;
end
m=m+1;
l=I(k);
F(m)=F1(l);
D(m)=D1(l);
S(m)=S1(l);%振型系数
end
fid=fopen(fno,'w');
fprintf(fid,'频率(Hz) 阻尼比(%%) 振型系数\n')
for k=1:m
fprintf(fid,'%10.4f %10.4f %10.6f\n',F(k),D(k)*100.0,imag(S(k)));
end
status=fclose(fid); 简单来说是指的测点的相对位移 哦 好的 谢谢 那就是说 可以根据每个测点的相对位移来画出振型了? 是的,你说的很对 振型系数是指这阶模态在振型中的参与系数
回复 5楼 ljy345 的帖子
那这个时候,再求解模态质量,模态刚度,怎么求呢?最近刚看模态参数识别的,有点晕晕,哈哈。好像一般都归一化成单位矩阵的模态质量。但是通过 模态矩阵,(模态向量组成的矩阵?)可以求出模态刚度,模态质量等等的,那现在如此贴的程序下,怎么求解模态质量,刚度?
振型系数和模态质量,刚度有什么关系?
另外多个自由度的系统,根据留数能得出些什么模态参数? 回复 ljy345 的帖子
兄弟 我想就您的回复和您进行下交流我个人认为 振型参与系数和振型系数是2个不同的东西
振型系数: 某个测点L的第某阶模态r下的幅值(针对某个测点)
振型参与系数:某个点在某个频率下第r阶模态的模态坐标 也就是所谓的加权系数 频率的函数(针对某个测点)
模态向量:右N个测点的振型系数组成的列向量
任意一个测点在某个频率下的响应=N阶(等于测点数目) 模态的振型系数*振型参与系数之和
注:本人才疏学浅,这里仅仅是为了和各位交流以期共同进步,错误之处,还望兄弟们当头棒喝的指点! 回复 heshulin 的帖子
谢谢 我是刚接触模态 对一些概念不是很理解 看过你的帖子以后受益匪浅 我以前的理解是错的
回复 heshulin 的帖子
对我也认为振型参与系数和振型系数是不同的概念
回复 heshulin 的帖子
请问你这里说任一测点在某频率下的响应如何得到的,能导出来不? {:{40}:} 小弟有个问题向你请教。
帖子中下面几句怎么理解?忘你指点一二你,谢谢
%计算振型系数向量
l=1;
for k = 0:(2*n-1)
Va(k+1,:) = ;
end
S1 = (inv(conj(Va')*Va)*conj(Va')*h);
%计算生成的脉冲响应函数
h1=real(Va*S1); anpengqian 发表于 2013-9-27 15:41
小弟有个问题向你请教。
帖子中下面几句怎么理解?忘你指点一二你,谢谢
%计算振型系数向量
循环是为了构建9.4.26的V矩阵,而S1后面的式子是一个改式,你化简一下就清楚了,目的是为了求逆(26公式中的V是L*2N的矩阵),其中要注意Va'不仅求了转置还求了逆,故前加conj;
不知道对不对,望指正。
页:
[1]