📄 等值变窄2.m
字号:
%入射速度波
a=0:pi/6:pi;
Vm=sin(a);
%线性渐变截面处各点高度
h(1)=0.3;h(22)=0.3;
for i=1:1:20
h(i+1)=0.4;%等值变窄截面
end
%各单元之间的传递函数参数
for i=1:1:21
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:101 %因为递推公式中要用到桩底的信号,故这儿多一个初始值i=101
Vu(i,1)=0; %j=1时,输入信号为零,故各单元初始值为零
Vd(i,1)=0;
end
%第i单元第j时间的速度
for j=2:1:210
for i=2:1:100
if i<=39
H=[1 0]; h=[0 1];
elseif i==40 | i==60
H=[2*Tu(i-39) Td(i-39)-Tu(i-39)];
h=[Tu(i-39)-Td(i-39) 2*Td(i-39)];
elseif i==100 %桩底前一单元到桩底的传递函数
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>=80 %因为起始段为桩顶,时间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:212
if j<=7
Vs(j)=Vd(1,j);
else
Vs(j)=2*Vd(1,j);
end
end
j=1:1:212;
plot(j-1,Vs);%桩顶与第一个单元的时差为1个单位时间
grid on
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -