📄 先突变宽后逐渐线性变窄.m
字号:
%入射速度波
a=0:pi/6:pi;
Vm=sin(a);
%线性渐变截面处各点高度
h(1)=0.4;h(9)=0.4;
for i=1:1:7
x=0.5+0.1*(i-1);
h(i+1)=0.6-0.2*(x-0.5)/0.7;%先突变宽后逐渐线性变窄的截面
end
%各单元之间的传递函数参数
for i=1:1:8
Tu(i)=h(i+1)/(h(i+1)+h(i));
Td(i)=h(i)/(h(i+1)+h(i));
end
%第i单元第一时间初始条件
for i=1:1:31 %因为递推公式中要用到桩底的信号,故这儿多一个初始值i=31
Vu(i,1)=0; %j=1时,输入信号为零,故各单元初始值为零
Vd(i,1)=0;
end
%第i单元第j时间的速度
for j=2:1:70
for i=2:1:30
if i<=4
H=[1 0]; h=[0 1];
elseif i<=12
H=[2*Tu(i-4) Td(i-4)-Tu(i-4)];
h=[Tu(i-4)-Td(i-4) 2*Td(i-4)];
elseif i==30 %桩底前一单元到桩底的传递函数
H=[0 1];h=[0 0];
else
H=[1 0];h=[0 1];
end
Vu(i,j)=H*[Vu(i+1,j-1);Vd(i-1,j-1)];
Vd(i,j)=h*[Vu(i+1,j-1);Vd(i-1,j-1)];
end
if j<=7
Vd(1,j)=Vm(j);
elseif j>=10 %因为起始段为桩顶,时间j=0记为零时输入信号时刻
Vu(1,j)=Vu(2,j-1);%故从第一个变截面处反射到桩顶所需要的时间为j=10
Vd(1,j+2)=Vu(1,j);
else
Vd(1,j)=0;
end
end
%桩顶接收到的速度波Vs
Vs=[];
for j=1:1:72
if j<=7
Vs(j)=Vd(1,j);
else
Vs(j)=2*Vd(1,j);
end
end
j=1:1:72;
plot(j-1,Vs);%桩顶与第一个单元的时差为1个单位时间
grid on
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -