例题分析课件

上传人:ra****d 文档编号:252344812 上传时间:2024-11-14 格式:PPTX 页数:22 大小:2.48MB
返回 下载 相关 举报
例题分析课件_第1页
第1页 / 共22页
例题分析课件_第2页
第2页 / 共22页
例题分析课件_第3页
第3页 / 共22页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2015/10/21,#,第二章 例题分析,解析:,条件:,芯层折射率:n1=1.56;衬底折射率:n2=1.2;,覆盖层折射率:n3=1;芯层厚度:d=3m;,光波波长:=1.55m;,Matlab,程序:,Clear%去除工作空间中所有的变量,close all%关闭所有窗口不包括命令、editor和帮助,n1=1.56;,n2=1.2;,n3=1;,d=3e-6;,lambda=1.55e-6;,k=2*pi/lambda;,V12=sqrt(n12-n22)*k*d;,V13=sqrt(n12-n32)*k*d;,F=(x)(x*(sqrt(V122-x2)+sqrt(V132-x2)./.,(x2-sqrt(V122-x2)*sqrt(V132-x2);,ezplot(tan,0,4*pi,-5,5),hold on,ezplot(F,0,4*pi)%作出函数F(x)的曲线,title(Graphical solution of the eigenvalue)xlabel(kappa d)%x轴注释,例,2.1,x1=2.7265;,kappa1=x1/d;,theta1=asin(kappa1/(n1*k);,beta1=(n1*k)*cos(theta1);,disp(x1=num2str(x1),disp(kappa1=num2str(kappa1),disp(theta1=num2str(theta1),disp(beta1=num2str(beta1),d,isp,命令是用来展示变量的内容,可以是字符串,元胞,矩阵,结构体。,例,2.2,解析:,例,2.2,是调用数值求根函数,fzero(),对例,2.1,中的平面光波导的导模的求解。,Matlab,程序:,.,Feigin=(x)(F(x)-tan(x);%,定义,TE,模的特征方程,x(1)=fzero(Feigin,3);%,求解特征方程的第一个数值解,x(2)=fzero(Feigin,6);%,求解特征方程的第,二,个数值解,x(3)=fzero(Feigin,8.5);%,求解特征方程的第三个数值解,x(4)=fzero(Feigin,10.6);%,求解特征方程的第四个数值解,kappa=x/d;%,求解对应的,的数值,theta=asin(kappa/(n1*k);%,求解对应的,的数值,beta=(n1*k)*cos(theta);%,求解对应的,的数值,gamma=sqrt(n12-n22)*k2-kappa.2);%,求解对应的,的数值,delta=sqrt(n12-n32)*k2-kappa.2);%,求解对应的,的数值,format short g%,设定命令窗口中的数据显示格式,x theta beta kappa gamma delta%,在命令窗口中显示对于的数据,=x/d;,=arcsin(,/(n1*k);,=(n1*k)*cos(,);,匿名函数Feigin:,matlab中定义的一种函数形式。匿名函数不以文件形式驻留在文件,夹上;它生成方式最简捷,可在指令窗或任何函数体内通过指令直接生成。,匿名函数的作用:主要实现自己定义matlab中的函数,从而扩大函数的使用功能;,和内联函数inline相比,匿名函数的优越性在于可以直接使用workspace中的变量,,不必申明,非常适合嵌入到M文件中。,format,short g 5,位定点或浮点格式,format,short e 5,位浮点格式,format,long,e,双精度为,15,位浮点格式,单精度为,7,为浮点格式,内联函数,内联inline函数是MATLAB 7以前经常使用的一种构造函数对象的方法。在命令窗口、程序或函数中创立局部函数时,通过使用inline构造函数,而不用将其储存为一个M文件,同时又可以像使用一般函数那样调用它。,MATLAB中的内联函数借鉴了C语言中的内联函数,它只在需要用到的时候像宏一样的展开。在MATLAB中也有类似的性质,由于内联函数是储存于内存中而不是在M文件中,省去了文件访问的时间,加快了程序的运行效率。,虽然内联函数有M文件不具备的一些优势,但是由于内联函数的使用,也会受到一些制约。首先,不能在内联函数中调用另一个inline函数;另外,只能由一个MATLAB表达式组成,并且只能返回一个变量。,匿名函数,匿名函数anonymous function是MATLAB 7.0版提出的一种全新的函数描述形式,和内联函数类似,可以让用户编写简单的函数而不需要创立M文件,因此,匿名函数具有inline函数的所有优点,并且效率比inline函数高,同时还具有一些独有的特点。例如和内联函数inline相比,匿名函数的优越性在于可以直接使用workspace中的变量,不必申明。,定义一个匿名函数:ft=(par)expression,其中ft 就是调用该函数的函数句柄,相当于C语言中的函数指针;par是参数列表,多个参数使用逗号分隔;expression那么是该函数的表达式。,M,文件,内联函数,匿名函数,内联函数,匿名函数,例,2.3,解析:,条件:,Matlab,程序:,clear,close all,V12=.7;V13=1.1;%,小数点前一位可缺省,F=(x)(x*(sqrt(V122-x2)+sqrt(V132-x2)./.,(x2-sqrt(V122-x2)*sqrt(V132-x2);,figure(1),subplot(1,2,1),ezplot(tan,0,1.5*pi,-5,5),hold on,ezplot(F,0,1.5*pi,-5,5),title(Graphical solution of the eigenvalue:V_12=,.,num2str(V12),V_13=,num2str(V13),xlabel(kappa d),V=.7;,F=(x)(2*x*sqrt(V2-x2)./(2*x2-V2);,subplot(1,2,2),ezplot(tan,0,1.5*pi,-5,5),hold on,ezplot(F,0,1.5*pi,-5,5),title(Graphical solution of the eigenvalue:,V=V_12=V_13=,num2str(V12),xlabel(kappa d),例,2.4,Matlab,程序,:,Np=1001;%,设置作图的点数,x2=linspace(-2*d,-d,Np);%,设置介质,2,、,1,、,3,中的横坐标范围,X1=linspace(-d,0,Np);,x3=linspace(0,1*d,Np);,Ey1=zeros(Np,3);Ey2=Ey1;Ey3=Ey1;%,对,3,段介质中的,Ey,分别进行初始化,for m=1:3%,循环计算各阶,TE,模,其中,m,对应于,TE,模的序数,Ey1(:,m)=cos(kappa(m)*x1)-.%,计算介质,1,中的,TEm,的电场,Ey,delta(m)/kappa(m)*sin(kappa(m)*x1);,Ey2(:,m)=(cos(kappa(m)*d)+.%,计算介质,2,中的,TEm,的电场,Ey,delta(m)/kappa(m)*sin(kappa(m)*d)*exp(gamma(m)*(x2+d);,Ey3(:,m)=exp(-delta(m)*x3);%,计算介质,3,中的,TEm,的电场,Ey,end,Ey=Ey2;Ey1;Ey3;%,将,3,段介质中的,Ey,按顺序合并,Ey=Ey/diag(max(abs(Ey);%,对,Ey,进行归一化处理,x =x2;x1;x3;%,对,3,段介质中对应的横坐标按顺序合并,x 0,-d,x,0,x,-d,linspace(x1,x2,N)与x1:x2:N相比,前者元素总个数而不知道步长,后者步长不知元素个数。,plot(x,Ey(:,1),-,x,Ey(:,2),.%分别对TE模的3个导模的Ey作图,-,x,Ey(:,3),:,LineWidth,2),legend(TE_0,TE_1,TE_2)%标注各阶TE模图例,xlabel(x)%标注横坐标,axis(x(1)x(end)-1.1 1.1)%设定图的显示范围,hold on%保存现有作图,plot(-d,-d,-1.1,1.1,black-)%画出介质2和介质1的边界,plot(0,0,-1.1,1.1,black-)%画出介质1和介质3的边界,plot(x(1),x(end),0,0,black)%画出直线y=0,注:在运行前需要将,例,2.4,的,程序加到例,2.2,程序的后面,因为在例,2.4,中使用,了例,2.2,中的变量。,归一化处理,diag(A),函数,max(A),函数,abs(A),函数,横坐标按顺序合并,矩阵,a,为一行,4,列;,矩阵,b,为一行,3,列;,首先对矩阵,a,转置,a,使其转化为一列,4,行;,对矩阵,b,转置,b,使其转化为一,列,3,行,;,再在矩阵,c,中进行排列为一列,7,行;,例,2.5,解析,:,条件:,归一化有效折射率b的范围是0,1,Matlab,程序,N=11;,b=linspace(0,1,201);%等距生成0-1之间201个数据的数组,V=zeros(length(b),N)%创立一个201行,11列的零矩阵,for k=1:N,V(:,k)=(k-1)*pi+2*atan(sqrt(b./(1-b)./sqrt(1-b);,plot(V(:,k),b),text(V(180-k*10,k)-1,b(180-k*10),N=num2str(k-1),hold on,axis(0 50 0 1)%x轴范围(0,50),y轴范围(0,1),end,xlabel(V),ylabel(b),对于给定的波导,可以根据这个色散关系图得到特征值。,谢谢!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


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

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


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