subfunflexibilitymatrix_waterboxcantilever.m
来自「主要用于高层建筑的减振设计,根据线性振动理论,用matlab高级语言编写而成,由」· M 代码 · 共 40 行
M
40 行
function FlexM=SUBFunFlexibilityMatrix_WaterBoxCantilever(L,n,d1,d2,E)
% n--------将杆分为n段
% L--------为杆长
%d1--------钢管的内直径
%d2--------管的外直径
%E---------弹性模量2.1*10^11
Le=L/n;
Lwe=Le; %水箱高度
r1=d1/2; %钢管的内半径
r2=d2/2; %钢管的外半径
I=pi*(d2^4-d1^4)/64;
n=n+1;
FlexM=zeros(n,n);
for j=1:n
a=Le*j; %力的作用位置
if (j==21)
for i=1:n
x=Le*i; %位移位置
if (i==21)
TL=L+Lwe;
FlexM(i,j)=(6*TL^3+9*TL^2+L^3+L^2-9*TL*L)/(6*E*I); % (x=L+Lwe)
else
FlexM(i,j)=x^2*(3*(L+Lwe)-x)/(6*E*I); % (0=<x=<L)
end
end
else
for i=1:n
x=Le*i; %位移位置
if (i<j)
FlexM(i,j)=x^2*(3*a-x)/(6*E*I); % (0=<x=<a)
else
FlexM(i,j)=a^2*(3*x-a)/(6*E*I); % (a=<x=<L+Lwe)
end
end
end
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?