📄 zzs0.m
字号:
%求解Lame波对称部分的基本模态So
format long
syms c; %定义速度c为符号函数
xx=[];err=[]; %xx存贮不同KH值的波速,err存贮误差
eps=1e-12; %精度
cd=5790;cs=3200; %cd为纵波波速,cs为横波波速
for kh=0:0.05:8 %k为波数,h为总的板厚
if kh<6.5 %利用lamea0作图法先估计出c值范围
y1=4*tanh(kh/2*(1-(c/cd)^2)^(1/2))*(1-(c/cd)^2)^(1/2)*((c/cs)^2-1)^(1/2);
y2=(2-(c/cs)^2)^2*tan(kh/2*((c/cs)^2-1)^(1/2));
if kh<0.05
c=[5333.9;5334];
elseif kh<2.55 c=[3200;5400];
elseif kh<3 c=[3200;xx(fix(20*kh))];
elseif kh<3.5 c=[4270;4661-(4661-4270)/10*(kh-3)*20]; %由于kh在3到3.5之间不能求解,故用插值法
else c=[3200;xx(fix(20*kh))];
end
for i=2:2
a=c(i-1);b=c(i);
c=(a+b)/2;
while (subs(y1-y2)~= 0) & ((b-a)>eps)
c=(a+b)/2;
fa=4*tanh(kh/2*(1-(a/cd)^2)^(1/2))*(1-(a/cd)^2)^(1/2)*((a/cs)^2-1)^(1/2)-(2-(a/cs)^2)^2*tan(kh/2*((a/cs)^2-1)^(1/2));
fb=4*tanh(kh/2*(1-(b/cd)^2)^(1/2))*(1-(b/cd)^2)^(1/2)*((b/cs)^2-1)^(1/2)-(2-(b/cs)^2)^2*tan(kh/2*((b/cs)^2-1)^(1/2));
fy=4*tanh(kh/2*(1-(c/cd)^2)^(1/2))*(1-(c/cd)^2)^(1/2)*((c/cs)^2-1)^(1/2)-(2-(c/cs)^2)^2*tan(kh/2*((c/cs)^2-1)^(1/2));
if fa*fy < 0
b=c;
else
a=c;
end
end
xx=[xx;c];
m=subs(y1-y2);
err=[err;m];
end
else
y1=4*tanh(kh/2*(1-(c/cd)^2)^(1/2))*(1-(c/cd)^2)^(1/2)*(1-(c/cs)^2)^(1/2);
y2=(2-(c/cs)^2)^2*tanh(kh/2*(1-(c/cs)^2)^(1/2));
c=[0;3200];
for i=2:2 %利用二分法求根
a=c(i-1);b=c(i);
c=(a+b)/2;
while (subs(y1-y2)~= 0) & ((b-a)>eps)
c=(a+b)/2;
fa=4*tanh(kh/2*(1-(a/cd)^2)^(1/2))*(1-(a/cd)^2)^(1/2)*(1-(a/cs)^2)^(1/2)-(2-(a/cs)^2)^2*tanh(kh/2*(1-(a/cs)^2)^(1/2));
fb=4*tanh(kh/2*(1-(b/cd)^2)^(1/2))*(1-(b/cd)^2)^(1/2)*(1-(b/cs)^2)^(1/2)-(2-(b/cs)^2)^2*tanh(kh/2*(1-(b/cs)^2)^(1/2));
fy=4*tanh(kh/2*(1-(c/cd)^2)^(1/2))*(1-(c/cd)^2)^(1/2)*(1-(c/cs)^2)^(1/2)-(2-(c/cs)^2)^2*tanh(kh/2*(1-(c/cs)^2)^(1/2));
if fa*fy < 0
b=c;
else
a=c;
end
end
xx=[xx;c];
m=subs(y1-y2);
err=[err;m];
end
end
end
cp=xx; %计算So群速度
kh=[0:0.05:8];
for i=2:1:161
if cp(i-1) ~=cp(i)
cg(i)=cp(i)+kh(i)*(cp(i)-cp(i-1))/(kh(i)-kh(i-1)); %波的相速度cp与群速度cg的转换公式
else cg(i)=cg(i-1)-50;
end
end
cg(1)=0;
%作图
fh=[];
for kh=0:0.05:8
f=kh*cp(fix(20*kh)+1)/2/pi; %将kd与cp、cg的关系转换为fh与cp、cg的关系
fh=[fh;f];
end
figure(1) %fh与cp的图
plot(fh,cp);
grid on;
hold on;
figure(2) %fh与cg的图
plot(fh,cg);
grid on;
hold on;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -