% Lame波反对称部分的基本模态
% %%%%%%%表示可根据具体情况修改的数据
format long
syms c; %定义速度c为符号函数
xx=[]; %存储cp
cl=6.37; %cd为纵波波速 %%%%%%%%
ct=3.11; %cs为横波波速 %%%%%%%%
i=0;
for x=0:0.1:20 %%%%%%%%x=fd
i=i+1;
j=2;
a=0;
t=x*pi;
while(a<22) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
b=a+0.001; %%%%%%%%%%%%%%% 0.01为cp的扫描步长
y1=((a/ct)^2-1)^0.5*tan(t*((a/ct)^2-1)^0.5/a)+((a/ct)^2-2)^2*tan(t*((a/cl)^2-1)^0.5/a)/(4*((a/cl)^2-1)^0.5);
y2=((b/ct)^2-1)^0.5*tan(t*((b/ct)^2-1)^0.5/b)+((b/ct)^2-2)^2*tan(t*((b/cl)^2-1)^0.5/b)/(4*((b/cl)^2-1)^0.5);
if(y1*y2<0)
xx(i,1)=x;
xx(i,j)=(a+b)/2;
j=j+1;
end
if (j-2)>5 %%%%%%%%%%%%%%2表示只计算A0-A5
break;
else
a=b;
end
end
end
%作A0的相速度频散曲线
fd=xx(:,1);
cp0=xx(:,2);
plot(fd,cp0);
h=plot(fd,cp0);
set(h,'LineWidth',1.5);
axis([0,16,0,10]) %axis([xmin,xmax,ymin,ymax]);
set(gca,'XTick',[0:2:16]);
set(gca,'YTick',[0:1:10]);
xlabel('频厚积fd(MHz.mm)','fontweight','bold','fontsize',13,'fontname','楷体');ylabel('相速度Cp(km/s)','fontweight','bold','fontsize',13,'fontname','楷体');
grid on
hold on
%A1
fh=xx(:,1);
cp10=xx(:,3);
A=[fh,cp10];
k=1;
[m,n]=size(A);
for i=1:1:m
if(A(i,2)~=0)
B(k,:)=A(i,:);
k=k+1;
end
end
fd=B(:,1);
cp1=B(:,2);
plot(fd,cp1);
h=plot(fd,cp1);
set(h,'LineWidth',1.5);
hold on
%A2
fh=xx(:,1);
cp20=xx(:,4);
A=[fh,cp20];
k=1;
[m,n]=size(A);
for i=1:1:m
if(A(i,2)~=0)
B(k,:)=A(i,:);
k=k+1;
end
end
fd=B(:,1);
cp2=B(:,2);
plot(fd,cp2);
h=plot(fd,cp2);
set(h,'LineWidth',1.5);
hold on
%A3
fh=xx(:,1);
cp30=xx(:,5);
A=[fh,cp30];
k=1;
[m,n]=size(A);
for i=1:1:m
if(A(i,2)~=0)
B(k,:)=A(i,:);
k=k+1;
end
end
fd=B(:,1);
cp3=B(:,2);
plot(fd,cp3);
h=plot(fd,cp3);
set(h,'LineWidth',1.5);
hold on
%A4
fh=xx(:,1);
cp40=xx(:,6);
A=[fh,cp40];
k=1;
[m,n]=size(A);
for i=1:1:m
if(A(i,2)~=0)
B(k,:)=A(i,:);
k=k+1;
end
end
fd=B(:,1);
cp4=B(:,2);
plot(fd,cp4);
h=plot(fd,cp4);
set(h,'LineWidth',1.5);