Matlab绘制频散曲线程序代码.doc

上传人:w****2 文档编号:6634238 上传时间:2020-03-01 格式:DOC 页数:6 大小:13.45KB
返回 下载 相关 举报
Matlab绘制频散曲线程序代码.doc_第1页
第1页 / 共6页
Matlab绘制频散曲线程序代码.doc_第2页
第2页 / 共6页
Matlab绘制频散曲线程序代码.doc_第3页
第3页 / 共6页
点击查看更多>>
资源描述
function disper%绘制平板频散曲线%ticclc;clear;cl=5790;%材料纵波波速(钢板)cs=3200;%材料横波波速(钢板)dfd=0.01*1e3;fd0=(0.01:dfd/1e3:20)*1e3;%频厚积(MHz*mm)d_Q235=6;cps_min=2700;cpa_min=100;cp_max=10000;mode=3;%绘制的模式数precision=1e-8;cpa=zeros(length(fd0),mode);cps=zeros(length(fd0),mode);for i=1:length(fd0) fd=fd0(i); cp12 n=ss(cps_min,cp_max,fd,cl,cs,mode); for j=1:n cp1=cp12(j,1); cp2=cp12(j,2); cps(i,j)=serfen(cp1,cp2,fd,cl,cs,precision); end cp12 n=aa(cpa_min,cp_max,fd,cl,cs,mode); for j=1:n cp1=cp12(j,1); cp2=cp12(j,2); cpa(i,j)=aerfen(cp1,cp2,fd,cl,cs,precision); endendh=zeros(mode,2);%相速度figure(1)for j=1:2 if j=1 cp=cps; color=b; else cp=cpa; color=r; end for i=1:mode cpp=cp(:,i); ind=find(cpp=0); if isempty(ind) h(i,j)=plot(fd0(ind(end)+1:end)/d_Q235,cpp(ind(end)+1:end),color); else h(i,j)=plot(fd0/d_Q235,cpp,color); end hold on end if j=2 xlabel(f/(KHz) ylabel(C_p/(kms-1) title(6mm钢板 相速度频散曲线) set(gca,xtick,(0:0.6:20)*1e3/d_Q235,xticklabel,(0:0.6:20)*1e3/d_Q235) xlim(0, 1000);% set(gca,ylim,0 cp_max,ytick,(0:cp_max/1e3)*1e3,. yticklabel,0:cp_max/1e3) grid on hSGroup = hggroup;%要在子对象构建之后构建,构建后立即使用,否则将失效 hAGroup = hggroup; set(h(:,1),parent,hSGroup) set(h(:,2),parent,hAGroup) set(get(get(hSGroup,Annotation),LegendInformation),. IconDisplayStyle,on); set(get(get(hAGroup,Annotation),LegendInformation),. IconDisplayStyle,on); legend(对称模式,反对称模式) endend%群速度figure(2)for j=1:2 if j=1 cp=cps; color=b; else cp=cpa; color=r; end for i=1:mode cpp=cp(:,i); ind=find(cpp=0); if isempty(ind) fd=fd0(ind(end)+1:end); cpp=cpp(ind(end)+1:end); else fd=fd0; end dcdf=diff(cpp)/dfd; cg=cpp(1:end-1).2./(cpp(1:end-1)-fd(1:end-1).*dcdf); h(i,j)=plot(fd(1:end-1)/d_Q235,cg,color); hold on end if j=2 xlabel(f/(KHz) ylabel(C_g/(kms-1) title(6mm钢板 群速度频散曲线) set(gca,xtick,(0:0.6:20)*1e3/d_Q235,xticklabel,(0:0.6:20)*1e3/d_Q235) xlim(0, 1000);% set(gca,ylim,0 5.5*1e3,ytick,(0:0.5:5.5)*1e3,yticklabel,0:0.5:5.5) grid on hSGroup = hggroup;%要在子对象构建之后构建,构建后立即使用,否则将失效 hAGroup = hggroup; set(h(:,1),parent,hSGroup) set(h(:,2),parent,hAGroup) set(get(get(hSGroup,Annotation),LegendInformation),. IconDisplayStyle,on); set(get(get(hAGroup,Annotation),LegendInformation),. IconDisplayStyle,on); legend(对称模式,反对称模式) endend%tocend%对称模式function cp0 n=ss(cp_min,cp_max,fd,cl,cs,mode)cp2=cp_min;deter=33;cp0=zeros(mode,2);n=0;while cp2cp_max&n0&cp2cp_max cp1=cp2; cp2=cp1+deter; y1=smode(cp1,fd,cl,cs); y2=smode(cp2,fd,cl,cs); end if y1*y20 n=n+1; cp0(n,:)=cp1 cp2; else if y1=0&y2=0 n=n+1; cp0(n,:)=cp1 cp1; elseif y2=0&y1=0 n=n+1; cp0(n,:)=cp2 cp2; cp2=cp2+1; elseif y1=0&y2=0 n=n+1; cp0(n,:)=cp1 cp1; n=n+1; cp0(n,:)=cp2 cp2; cp2=cp2+1; end endendendfunction fs=smode(cp,fd,cl,cs)p=abs(sqrt(cp/cs)2-1);q=abs(sqrt(cp/cl)2-1);if cpcs&cpprecision y1=smode(cp1,fd,cl,cs); y2=smode(cp2,fd,cl,cs); cp0=(cp1+cp2)/2; y0=smode(cp0,fd,cl,cs); if y1*y00 cp2=cp0; elseif y2*y00 cp1=cp0; elseif y0=0 break elseif y1=0 cp2=cp1; break elseif y2=0 cp1=cp2; break endendcp=(cp2+cp1)/2;end%反对称模式function cp0 n=aa(cp_min,cp_max,fd,cl,cs,mode)cp2=cp_min;deter=33;cp0=zeros(mode,2);n=0;while cp2cp_max&n0&cp2cp_max cp1=cp2; cp2=cp1+deter; y1=amode(cp1,fd,cl,cs); y2=amode(cp2,fd,cl,cs); end if y1*y20 n=n+1; cp0(n,:)=cp1 cp2; else if y1=0&y2=0 n=n+1; cp0(n,:)=cp1 cp1; elseif y2=0&y1=0 n=n+1; cp0(n,:)=cp2 cp2; cp2=cp2+1; elseif y1=0&y2=0 n=n+1; cp0(n,:)=cp1 cp1; n=n+1; cp0(n,:)=cp2 cp2; cp2=cp2+1; end endendendfunction fs=amode(cp,fd,cl,cs)p=abs(sqrt(cp/cs)2-1);q=abs(sqrt(cp/cl)2-1);if cpcs&cpprecision y1=amode(cp1,fd,cl,cs); y2=amode(cp2,fd,cl,cs); cp0=(cp1+cp2)/2; y0=amode(cp0,fd,cl,cs); if y1*y00 cp2=cp0; elseif y2*y00 cp1=cp0; elseif y0=0 break elseif y1=0 cp2=cp1; break elseif y2=0 cp1=cp2; break endendcp=(cp2+cp1)/2;end
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 临时分类 > 人文社科


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!