📄 zza0.m
字号:
%求解Lame波反对称部分的基本模态Ao
format long
syms c; %定义速度c为符号函数
xx=[];err=[]; %xx存贮不同KH值的波速,err存贮误差
eps=1e-12; %精度
u=0.3; %泊松比u,越大对应速度越小
E=2.06e11; %弹性模量E,越大对应速度越大
p=7850;%密度越大对应速度越小
cd=((1-u)*E/(1+u)/(1-2*u)/p)^0.5;%cd为纵波波速,cs为横波波速
cs=(E/2/(1+u)/p)^0.5;
for kh=0:0.05:8 %k为波数,h为总的板厚
y1=4*tanh(kh/2*(1-(c/cs)^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/cd)^2)^(1/2));
if kh==0 %利用lamea0作图法先估计出c值范围
c=[0;0];
elseif kh<0.1
c=[76.953;76.9532];
elseif kh<0.2
c=[80;300];
elseif kh<0.3
c=[0;400];
elseif kh<0.5
c=[0;700];
elseif kh<1 & kh>0.4 c=[0;1300];
elseif kh<=1.5 & kh>=1 c=[0;2000];
else
c=[0;3200];
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/cs)^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/cd)^2)^(1/2));
fb=4*tanh(kh/2*(1-(b/cs)^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/cd)^2)^(1/2));
fy=4*tanh(kh/2*(1-(c/cs)^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/cd)^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
cp=xx; %计算Ao群速度
kh=[0:0.05:8];
for i=2:1:161
cg(i)=cp(i)+kh(i)*(cp(i)-cp(i-1))/(kh(i)-kh(i-1)); %波的相速度cp与群速度cg的转换公式
end
%作图
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) %f与cp的图
plot(fh/2,cp);
xlabel('频率f (KHz)');ylabel('相速度Cp (m/s)');
grid on;
hold on;
figure(2) %f与cg的图
plot(fh/2,cg);%板厚为2mm
xlabel('频率f (KHz)');ylabel('群速度Cg (m/s)');
grid on;
hold on;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -