📄 plzhx.m
字号:
function [ww,zhx1,A,m]=plzhx(a,b,dn)
%求解自振频率ww,振型zhx1---输入变量:质量阵a
% 层间刚度矩阵b
% 结构层数dn
% 返回变量:自振频率ww,振型zhx1
m=diag(a);
[ik]=kzong(b,dn);
[A,x]=eig(ik,m);
x=diag(sqrt(x));
for i=1:dn
[x1(i),j]=min(x);
Agd(:,i)=A(:,j);
x(j)=max(x)+1;
end
x=x1;
A=Agd;
for i=1:dn
ww(i)=x(i);
zhx1(:,i)=A(:,i)/A(dn,i);
end
if abs(min(min(zhx1)))>abs(max(max(zhx1)))
T=abs(min(min(zhx1)));
else
T=abs(max(max(zhx1)));
end
%绘图
for i=1:dn
yi=0:0.25:dn;
xi=interp1(0:dn,[0,zhx1(:,i)'],yi,'spline');
subplot(2,dn,i)
plot([0,zhx1(:,i)'],0:dn,'.',xi,yi);
ylabel('X');
xlabel('Z');
title(['振型图\omega=',num2str(ww(i)),'']);
text(zhx1(1,i),dn,'1','HorizontalAlignment','right','FontSize',16)
axis([-1*T*1.5,T*1.5,0,dn]);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -