leison1982 发表于 2014-4-26 20:37

一端带集中质量杆的拉伸振动的模态问题

本帖最后由 leison1982 于 2014-4-26 21:02 编辑

最近遇到一个问题百思不得其解,请大家指点迷津,刘彦柱的《振动力学》第129页有一个例题求一个带集中质量杆自由振动的频率和模态,本人照着做了一个算例,用数值方法求解(d)式得到了频率,然后用(e)式求模态,然后发现各个模态之间不是相互正交的,不知道怎么回事?模态之间不是应该相互正交,积分为0吗,就是附件matlab程序中计算的C12(1阶和2阶积分,虽然是数值积分也不应该这么大呀,其他阶之间也是这样),请大家看看哪里错了?
function axial_fre
clc
clear all
global mode E Area L cont alfa
mode=6;
L=1500;%长度(m)
alfa=1.22;%质量比 (d)式右端1/alfa
cont=4.032E3;%(d)式a
omgn=(2*(1:mode)-1)*pi/(2*L)*cont;%不带集中质量杆自由振动频率
omgi=modefun(mode,omgn);
for i=1:mode
    x=myfun(omgi(i))
end%验算求出频率是否满足式(d)

dL=0.1;%积分微段
x=0:dL:L;
Mshape=zeros(mode,length(x));
for i=1:mode
    Mshape(i,:)=sin(omgi(i)*x/cont);%式(e)求模态
end
plot(x,Mshape)%各个模态图形

%模态之间数值积分
C=sum(Mshape.^2,2)*dL%各阶振型矩形积分
CC=sum(((Mshape(:,1:length(x)-1)+Mshape(:,2:length(x)))/2).^2,2)*dL%各阶振型梯形积分
C12=sum(Mshape(1,:).*Mshape(2,:),2)*dL%1阶和2阶积分矩形积分
a1=(Mshape(1,1:length(x)-1)+Mshape(1,2:length(x)))/2;
a2=(Mshape(2,1:length(x)-1)+Mshape(2,2:length(x)))/2;
CC12=sum(a1.*a2,2)*dL%1阶和2阶积分梯形积分

function omgi=modefun(mode,omgn)%在自由振动频率附近求解各个频率
omgi=zeros(1,length(omgn));
for i=1:mode
    X=fsolve(@myfun,,optimset('Display', 'off'));
    omgi(i)=X;
end
disp(omgn)
disp(omgi)


function f=myfun(x)%方程(d)
global L cont alfa
f(1)=(x*L/cont)*tan(x*L/cont)-alfa;

leison1982 发表于 2014-4-26 21:49

大神们给点意见啊

玉林 发表于 2014-4-28 16:25

具有复杂边界条件的杆、梁结构的模态向量不再是简单的加权正交,考虑其正交性时应该加上边界条件的影响。具有复杂边界条件的杆的模态函数不再是简单的三角函数。

leison1982 发表于 2014-4-28 20:43

玉林 发表于 2014-4-28 16:25
具有复杂边界条件的杆、梁结构的模态向量不再是简单的加权正交,考虑其正交性时应该加上边界条件的影响。具 ...

哦,谢谢!那这种模型轴向再施加外力时,怎么求它的动力响应呢?模态不正交就不能进行解耦用模态叠加法求解了,很困惑呀。
页: [1]
查看完整版本: 一端带集中质量杆的拉伸振动的模态问题