Matlab 在电磁场中的应用课件

上传人:汽*** 文档编号:568775060 上传时间:2024-07-26 格式:PPT 页数:54 大小:344.51KB
返回 下载 相关 举报
Matlab 在电磁场中的应用课件_第1页
第1页 / 共54页
Matlab 在电磁场中的应用课件_第2页
第2页 / 共54页
Matlab 在电磁场中的应用课件_第3页
第3页 / 共54页
Matlab 在电磁场中的应用课件_第4页
第4页 / 共54页
Matlab 在电磁场中的应用课件_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《Matlab 在电磁场中的应用课件》由会员分享,可在线阅读,更多相关《Matlab 在电磁场中的应用课件(54页珍藏版)》请在金锄头文库上搜索。

1、Matlab在电磁场中的在电磁场中的应用应用2009.10.8 Matlab是美国Mathworks公司于80年代推出的大型数学软件,通过多年的升级换代,现在已发展成为集数值计算、符号计算、可视化功能以及诸多的工具箱为一体的大型科学计算软件,它已广泛应用于科研院所、工程技术等各个部门,并成为大学生、研究生必备的工具软件。Matlab语言以矩阵为基本运算单元,界面极其友好,初学者只要具备必要的数学基础就可以以令人难以置信的速度将其学到手。它对许多物理学的典型问题的计算和处理只需很少的几条语句就能做到。特别是它强大的作图及动画功能能够准确而科学地反应物理学问题的本质,语句也是简洁清晰。Matlab

2、特点特点:n n功能强大的数值运算功能,n n强大的图形处理能力n n高级但简单的程序环境n n丰富的工具箱与模块集 n n易于扩充预备知识预备知识一MATLAB运算运算1.算术运算算术运算(1)基本算术运算基本算术运算MATLAB的基本算术运算有:的基本算术运算有:(加加)、(减减)、*(乘乘)、/(右除右除)、(左除左除)、(乘乘方方)。注意,运算是在矩阵意义下进行的,单个注意,运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。数据的算术运算只是一种特例。 (2)点运算点运算在在MATLAB中,有一种特殊的运算,因中,有一种特殊的运算,因为其运算符是在有关算术运算符前面加点,为其运

3、算符是在有关算术运算符前面加点,所以叫点运算。点运算符有所以叫点运算。点运算符有.*、./、.和和.。两矩阵进行点运算是指它们的对应元。两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相素进行相关运算,要求两矩阵的维参数相同。同。2.关系运算关系运算MATLAB提供了提供了6种关系运算符:种关系运算符:(小于小于)、(大于大于)、=(大于或大于或等于等于)、=(等于等于)、=(不等于不等于)。它们的含。它们的含义不难理解,但要注意其书写方法与数学义不难理解,但要注意其书写方法与数学中的不等式符号不尽相同。中的不等式符号不尽相同。3.逻辑运算逻辑运算MATLAB提供了提供了3种

4、逻辑运算符:种逻辑运算符:&(与与)、|(或或)和和(非非)。二 程序控制结构1.1.顺序结构顺序结构顺序结构顺序结构程序模块1程序模块22 选择结构条件程序模块1程序模块2不成立成立if语句语句在在MATLAB中,中,if语句有语句有3种格式。种格式。(1)单分支单分支if语句:语句:if条件条件语句组语句组end当条件成立时,则执行语句组,执行完之后当条件成立时,则执行语句组,执行完之后继续执行继续执行if语句的后继语句,若条件不成立,语句的后继语句,若条件不成立,则直接执行则直接执行if语句的后继语句。语句的后继语句。双分支双分支if语句:语句:if条件条件语句组语句组1else语句组语

5、句组2end当条件成立时,执行语句组当条件成立时,执行语句组1,否则执行语,否则执行语句组句组2,语句组,语句组1或语句组或语句组2执行后,再执行执行后,再执行if语句的后继语句语句的后继语句例例计算分段函数的值。计算分段函数的值。程序如下:程序如下:x=input(请输入请输入x的值的值:);ifx=0y=(x+sqrt(pi)/exp(2);elsey=log(x+sqrt(1+x*x)/2;endY 多分支多分支多分支多分支if if语句:语句:语句:语句:ifif条件条件条件条件1 1语句组语句组语句组语句组1 1elseifelseif 条件条件条件条件2 2语句组语句组语句组语句组

6、2 2elseifelseif 条件条件条件条件mm语句组语句组语句组语句组mmelseelse语句组语句组语句组语句组n nendend语句用于实现多分支选择结构语句用于实现多分支选择结构语句用于实现多分支选择结构语句用于实现多分支选择结构3循环结构循环结构for语句语句for语句的格式为:语句的格式为:for循环变量循环变量=表达式表达式1:表达式表达式2:表达式表达式3循环体语句循环体语句end其中表达式其中表达式1的值为循环变量的初值,表达式的值为循环变量的初值,表达式2的值为步长,表达式的值为步长,表达式3的值为循环变量的的值为循环变量的终值。步长为终值。步长为1时,表达式时,表达式

7、2可以省略。可以省略。while语句语句while语句的一般格式为:语句的一般格式为:while(条件条件)循环体语句循环体语句end其执行过程为:若条件成立,则执行其执行过程为:若条件成立,则执行循环体语句,执行后再判断条件是否循环体语句,执行后再判断条件是否成立,如果不成立则跳出循环成立,如果不成立则跳出循环三三 几个绘图命令几个绘图命令1. plot1. plot函数:用来绘制线形图形函数:用来绘制线形图形plot(yplot(y), ), 当当当当y y是实向量时,以该向量元素的下标为横坐标,是实向量时,以该向量元素的下标为横坐标,是实向量时,以该向量元素的下标为横坐标,是实向量时,以

8、该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线元素值为纵坐标画出一条连续曲线,这实际上是绘制折线元素值为纵坐标画出一条连续曲线,这实际上是绘制折线元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。图。图。图。plot(x,yplot(x,y), ), 其中其中其中其中x x和和和和y y为长度相同的向量,分别用于存储为长度相同的向量,分别用于存储为长度相同的向量,分别用于存储为长度相同的向量,分别用于存储x x坐坐坐坐标和标和标和标和y y坐标数据。坐标数据。坐标数据。坐标数据。plot(x,y,splot(x,y,s) )contourcontour函数:用

9、来绘制等高线图形函数:用来绘制等高线图形ezplotezplot函数函数: :对于显式函数对于显式函数f=f=f(xf(x), ),在默认范围在默认范围 -2-2 x2x2 上绘制函数上绘制函数f(xf(x) )的图形;的图形; 对于隐式函数对于隐式函数f=f=f(x,yf(x,y) ),在默认的平面区域,在默认的平面区域- -2 2 xx2 2 , -, -2 2 yydelta,则把则把d 的值赋给的值赋给delta。14:把:把的值赋给以前的的值赋给以前的V(j,k)。15:结束结束j,k的循环。的循环。16:如果:如果delta的值大于前面设置的精度的值大于前面设置的精度cha,则则至

10、少有一个网格上的点两次计算之间的差值大至少有一个网格上的点两次计算之间的差值大于所设的精度。则程序从第于所设的精度。则程序从第10步开始重新计算,步开始重新计算,直到直到delta的值小于的值小于cha为止。为止。17:输出网格上点的电压值。:输出网格上点的电压值。18:程序结束。:程序结束。计算场点电压值程序如下:计算场点电压值程序如下:m=12m=12fork=1:mfork=1:mforj=1:mforj=1:mifk=1ifk=1V(j,k)=1;V(j,k)=1;elseif(jelseif(j=1)|(j=m)|(k=m)=1)|(j=m)|(k=m)V(j,k)=0;V(j,k)

11、=0;elseelseV(j,k)=0.5;V(j,k)=0.5;endendendendendend cha=0.01;cha=0.01;delta=0;delta=0;n=0;n=0;while(1)while(1) n=n+1; n=n+1; for k=2:m-1 for k=2:m-1 for j=2:m-1for j=2:m-1 Vnew(j,kVnew(j,k)=1/4*(V(j+1,k)+V(j-1,k)+V(j,k+1)+V(j,k-)=1/4*(V(j+1,k)+V(j-1,k)+V(j,k+1)+V(j,k-1);1); d= d=abs(Vnew(j,k)-V(j,k)

12、/V(j,kabs(Vnew(j,k)-V(j,k)/V(j,k);); if ddelta if ddelta delta=d; delta=d; end end V(j,kV(j,k)=)=Vnew(j,kVnew(j,k); ); endendifdelta100)break;enddelta=0.;end程序计算出的结果如下:程序计算出的结果如下:代入代入代入代入mm2222绘图程序:绘图程序:绘图程序:绘图程序:k=1:m;k=1:m;j=1:m;j=1:m;DX,DY=gradient(V,.4,.4);DX,DY=gradient(V,.4,.4);holdonholdonqui

13、ver(k,j,DX,DY,2)quiver(k,j,DX,DY,2)holdoffholdoffk=1:m;k=1:m;j=1:m;j=1:m;DX,DY=gradient(V,.4,.4)DX,DY=gradient(V,.4,.4)A=(DX.2+DY.2).0.5;A=(DX.2+DY.2).0.5;DA,DB=gradient(A,.4,.4);DA,DB=gradient(A,.4,.4);holdonholdonquiver(k,j,DA,DB,2)quiver(k,j,DA,DB,2)holdoffholdoff电场图电场图电力线电力线 通过以上的初步探讨通过以上的初步探讨,

14、,可以看出可以看出在有限差分法的计算中在有限差分法的计算中, ,或者说或者说是在工程计算和数据处理中是在工程计算和数据处理中, ,确实具备如下确实具备如下优点优点: : (1)(1)较其它高级程序设计语言较其它高级程序设计语言, ,MatlabMatlab程序语言的规则更为接近数学表示程序语言的规则更为接近数学表示 (2)(2)语句简洁明了语句简洁明了, ,表意却出乎意料的表意却出乎意料的丰富。比如丰富。比如, ,上面程序中函数上面程序中函数meshmesh、contourcontour、subplotsubplot等等等等, ,就出现了就出现了“一句顶几百句一句顶几百句”其其它语言的生动场面

15、它语言的生动场面, ,这一点是这一点是C C、FortranFortran等等程序设计语言所无法比拟的。程序设计语言所无法比拟的。 (3)(3)在有大量数据的处理过程当中在有大量数据的处理过程当中, ,避避免了变量、矩阵的事先定义免了变量、矩阵的事先定义, ,会会自动获取所需的存储空间。自动获取所需的存储空间。 (4)(4)提供了良好的用户界面提供了良好的用户界面, ,许多函数许多函数本身会自动绘制出图形本身会自动绘制出图形, ,而且会自动选取坐标而且会自动选取坐标刻度刻度, ,可以使用户大大节约设计时间可以使用户大大节约设计时间, ,提高设计提高设计质量。此外质量。此外, ,本文由于讨论问题所限本文由于讨论问题所限, ,还未涉及还未涉及到其它易于扩展的功能。这一功能可以方便地到其它易于扩展的功能。这一功能可以方便地构造出专用函数构造出专用函数, ,从而大大地扩展从而大大地扩展的应用范围。综上所述的应用范围。综上所述, ,工具工具软件在数据的处理和结果成图方面都是极具潜软件在数据的处理和结果成图方面都是极具潜力的。力的。谢谢谢谢!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 文学/艺术/历史 > 人文/社科

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号