当前位置:文档之家› Matlab绘制频散曲线程序代码(20210119130722)

Matlab绘制频散曲线程序代码(20210119130722)

Matlab绘制频散曲线程序代码-CAL-FENGHAI-(2020YEAR-YIfunction disper%绘制平板频散曲线%ticclc;clear;cl=5790;%材料纵波波速(钢板)cs=3200;%材料横波波速(钢板) dfd=*le3;fdO=:dfd/le3:2O)*le3;%频厚积(MHz*mm) d_Q235二6;cps_mi n二2700;cpa_min=100;cp_max=10000;mode=3;%绘制的模式数precision=le-8;cpa=zeros(length(fdO),mode);cps=zeros(le ng th(fdO),mode);for i=l:length(fdO)fd=fdO(i);[cpl2 n]=ss(cps_min/cp_max/fd/cl,cs,mode);for j=l:ncpl=cpl2(j,l);cp2=cpl2(j,2);cps(i,j)=serfe n(cpl,cp2,fctcl£S'precisi on); end[cpl2 n]=aa(cpa_min,cp_max/fd/cl/cs,mode); for j=l:ncpl=cpl2(j,l);cp2=cpl2(j,2);cpa(ij)=aerfe n(cpbcp2,fd£l‘cs,precisi on); endendh=zeros(mode,2);%相速度figure(l)for j=l:2ifj==lcp=cps;color=,b,;elsecp=cpa;color二T;endfor i=l:modecpp=cp(:,i);in d=fi nd(cpp==0);if ^isempty(ind)h(i/j)=plot((fdO(ind(end)+l:end))/d_Q235/cpp(ind(end)+l:end),color);elseh(i/j)=plot(fdO/d_Q235,cpp/color);endhold onendifj==2xlabel('f/(KHz)')ylabel('C_{p}/(km-sA{-l})')title('6mm钢板相速度频散曲线Jset(gca,,xtick,,(0::20)*le3/d_Q235,,xticklaber/(0::20)*le3/d_Q235)xlim([0, 1000]);%set(gca,'ylim,,[0 cp_max],'ytick,,(0:cp_max/le3)*le3,...'yticklaber,0:cp_max/le3)grid onhSGroup = hggroup;%要在子对象构建之后构建,构建后立即使用,否则将失效hAGroup = hggroup;set(h(:/l)/parent,,hSGroup)set(h(:,2)/parent,/hAGroup)set(get(get(hSGroup,'A nn otationfLege ndlnformation'),..・'Icon DisplayStyle'/on1);set(get(get(hAGroup,'A nn otationfLege ndlnformatiorV),..・'Icon DisplayStyle'/on1);legend)'对称模式T反对称模式')endend%群速度figure(2)for j=l:2ifj==lcp=cps;color=,b,;elsecp=cpa;color=,r,;endfor i=l:modecpp=cp(:,i);in d=fi nd(cpp==0);if ^isempty(ind)fd=fdO(ind(end)+l:end)';cpp=cpp(i nd(end)+l:end);elsefd=fdO';enddcdf=diff(cpp)/dfd;cg=cpp(l:end-l).A2./(cpp(l:end-l)-fd(l:end-l).*dcdf);h(i,j)=plot(fd(l:end-l)/d_Q235,cg/color);hold onendifj==2xlabel('f/(KHz)')ylabel('C_{g}/(km-sA{-l})')title('6mm钢板群速度频散曲线,)set(gca,,xtick,,(0::20)*le3/d_Q235,,xticklaber/(0::20)*le3/d_Q235) xlim([0,1000]);%set(gca;ylim,/[0]*le3;ytick,/(0::*le3,,yticklabel I,0::grid onhSGroup = hggroup;%要在子对象构建之后构建,构建后立即使用,否则将失效hAGroup= hggroup;set(h(:/l)/parent'/hSGroup)set(h(:,2)/parent,,hAGroup)set(get(get(hSGroup,'A nn otationfLege ndlnformatiorf),…'Icon DisplayStyle'/on1);set(get(get(hAGroup,'A nn otationJ/Lege ndlnformatiorV),..・Ucon DisplayStyle'/on1);legend)'对称模式,,反对称模式')endend%tocend%对称模式function [cpO n]=ss(cp_min/cp_max,fd,cl,cs/mode)cp2=cp_mi n;deter=33;cp0=zeros(mode,2);n=0;while cp2<cp_max&&n<modecpl=cp2;cp2=cpl+deter;yl=smode(cpl,fd/cl/cs);y2=smode(cp2,fd/cl/cs);while yl*y2>0&&cp2<cp_maxcpl=cp2;cp2=cpl+deter;yl=smode(cpl/fd/cl,cs);y2=smode(cp2/fd/cl,cs);end讦yl*y2<0n=n+l;cp0(n/:)=[cpl cp2];elseif yl==0&&y2^=0n=n+1;A 7d <2*d )s 8*尸d <p 4*d )u _S L <T R V d T (d £<p 4*d )s o o *Fd :7p 4±d )£f F d %H S 4① s o 二 b晏 d <p 4*d )q s oy (尸 c b 、2*dls 花<TR V d r (尸d <E *d )s o :J *7d<pr_d )cu_$7d%d 42 尿w 眠 b•粢俅I«d x p y d o oa oa s o c d。

奇S aA 7c b 、2*d )-C s o ^(d 晏 d<p 4*dr u 30v (l ;R V ?-+(d・d <2*d )JZ s o :>*7c b 、p 4*d )cu0F d %6s 4 尿MlHItb足 d f s f v d。

七三uv(p、d£¥bs)sqe=:b、((T R V (s <d o ))t b s)s q f d (svqprcbopolusHSJu o l o u n jpu① PU CDP U CDp u oH+zdoHecb,【z d o z d oH c c o d o "4-UHU77d 0 T c b H r co d o WUHUOH H Z A oa od O H上A4O S OXH +e d f e d 。

CN、(rH d ¥ed o N c b pueP U CD>l e<D 」qCN d o H H doO H n ^>4-<PS-(D>l e(D 」q“d o H e d o OHHTA七CD S -CD>l e(D」q0n H 0>4O S 6o d o H T d%反对称模式function [cpO n]=aa(cp_min,cp_max/fd z cl,cs,mode)cp2二cp_mi n;deter=33;cp0=zeros(mode,2);n=0;while cp2<cp_max&&n<modecpl=cp2;cp2=cpl+deter;yl=amode(cpl/fd,cl/cs);y2=amode(cp2/fd,cl/cs);while yl*y2>0&&cp2<cp_maxcpl=cp2;cp2=cpl+deter;yl=amode(cpl/fd,cl/cs);y2=amode(cp2/fd/cl/cs);end讦yl*y2<0n 二n+1;cpO(n/:)=[cpl cp2];elseif yl==O&&y2^=On=n+1;cpO(n,:)=[cpl cpl];elseif y2==O&&yl~=On=n+1;cp0(n/)=[cp2 cp2];cp2=cp2+l;elseif yl==O&&y2==On=n+l;cpO(n,:)=[cpl cpl];n=n+1;cp0(n,:)=[cp2 cp2];cp2=cp2+l;endendendendfunction fs二amode(cp,fd£l,cs)p=abs(sqrt((cp/cs)A2-l));q=abs(sqrt((cp/cl)A2-l));if cp<=cs%p和q都是复数fs=-4*p*q*sinh(pi*fd/cp*p)*cosh(pi*fd/cp*q)+(-p A2-l)A2*sinh(pi*fd/cp*q)*cosh(pi*fd/cp*p); elseif cp>cs&&cp<=cl%p 是实数,q 是复数fs=4*p*q*sin(pi*fd/cp*p)*cosh(pi*fd/cp*q)+(p A2-l)A2*sinh(pi*fd/cp*q)*cos(pi*fd/cp*p);fs=4*p*q*sin(pi*fd/cp*p)*cos(pi*fd/cp*q)+(p A2-l)A2*sin(pi*fd/cp*q)*cos(pi*fd/cp*p); endendfunction cp=aerfen(cpl£p2,fd£l,cs,precision)while cp2-cpl>precisionyl=amode(cpl/fd,cl/cs);y2=amode(cp2/fd,cl/cs);cpO=(cpl+卬2)/2;yO=amode(cpO/fd,cl,cs);讦yl*yO<Ocp2=cp0;elseif y2*yO<Ocpl=cpO;elseif y0==0breakelseif yl==Ocp2=cpl;breakelseif y2==0cpl=cp2;breakendendcp=(cp2+cpl)/2;end。

相关主题