《MATLAB_电磁场实验指导书.docx》由会员分享,可在线阅读,更多相关《MATLAB_电磁场实验指导书.docx(33页珍藏版)》请在优知文库上搜索。
1、电磁场试验仿真指导书1、基础2、试验内容2.1 预习点电荷电场分布2.2 试验一电偶极子电场分布仿真2.3 试验二特别边界条件的电场分布2.4 试验三直导线的磁场分布2.5 5试验四磁偶极子的磁场分布1基础1.1简介是一门计算机程序语言,取名源于,意在以矩阵方式处理数据。一般认为的典型应用包括:数值计算及分析、符号运算、建模及仿真、数据可视化、图形处理及可视化、基于图形用户界面的应用程序开发。启动后界面如图1所示。图1启动后界面吩咐窗口():(1)用于执行吩咐,正常状况下提示符为“”,表示进入工作状态。(2)在提示符后输入运算指令和函数调用等吩咐(不带将快速显示出结果并再次进入打算工作状态。(
2、3)若吩咐后带有“;”,执行吩咐后不显示结果。(4)在打算工作状态卜.,假如按上下键,会按依次依次显示以前输入的吩咐,若要执行它,则干脆回车即可。工作空间():(1)显示计算机内存中现有变量的名称、类型、结构及其占用子节数等。(2)假如干脆双击某变量,则弹出窗口供用户杳看及修变更量内容。(3)该窗口上有工具条支持用户将某变量存储到文件中或者从文件中载入某变量。吩咐历史记录():(1)保存并显示用户在吩咐窗口中输入过的吩咐,以及每次启动的时间等信息。(2)若双击某条吩咐记录,则会再次执行该吩咐。当前路径窗口():(1)先是当前路径内的全部文件。(2)用户可以在这里新建或删除一个文件,也可以双击一
3、个文件,在编辑/调试窗口中打开。设置当前路径():(1)用于选择当前工作路径。(2)可以在吩咐窗口中输入文件名来干脆调用工作路径下的文件。运用时获得帮助的两种方法:一是干脆在吩咐窗口中输入函数名或吩咐:二是在帮助窗口中阅读或搜寻相应信息。还可以参考的程序来学习编程。1.2基本语法(一)变量及其赋值1、标识符及数(D标识符是标识变量名、常量名、函数名和文件名的字符串的总称。在中,变量和常量的标记符最长允许19个字符;函数和文件名通常不超过8个字符(受操作系统文件管理器的限制)。这些字符包括全部的英文字母(区分大小写)、阿拉伯数字和下划线等符号。标识符的第一个字符必需是英文字母。(2)中只有双精度
4、一种数据格式,它把简化编程作为主要目标,以运算速度和内存消耗为代价,省去了多种数据格式,唯一采纳双精度格式进行数据的存储和运和。虽然它的数据格式只有一种,但是为了人机交互便利,输出显示格式有8种。下表显示了在各格式限制吩咐下圆周率n的显示结果。吩咐显示形式说明3.14916位十进制数e3.149300016位十进制数加指数(默认)3.1416二位整数,四位小数e3.14160005位十进制数加指数40092154442dl816位十六进制数3.14两位小数+正、负或零355/113分数近似默认的显示格式是(稀疏格式),屏幕的显示会有很多空行,而假如用显示格式吩咐(紧凑格式,),则会用紧凑格式显
5、示。2、矩阵及其元素的赋值(1)中的变量或常量都代表矩阵,标量应看作1X1阶的矩阵。(2)矩阵的赋值:矩阵的值放在方括号中;一行中各元素之间以逗号或者空格分开,不同的行则以分号隔开;句的结尾可用同车符或逗号,此时会马上显示运算结果。假如不希望显示结果,就以分号结尾。此时运算仍旧执行,只是不显示。变量的元素用圆括号“()”中的数字(也称为下标)来注明,一维矩阵(也称为数组或向量)中的元素用一个下标表示,二维的矩阵可有两个卜标数,以逗号分开。赋值语句一般形式为:变量=表达式(或数)例如:输入语句123:456:789则显示结果为456789元素可以用表达式代替。如输入7.3(3)(l+2+35*4
6、)则显示结果为X=-1.30001.73214.8000可以单独给矩阵的元素赋值。如x(2)=1.7321,a(2,3)=6等。假如赋值元素的下标超出了原来矩阵的大小,矩阵的行列会自动扩展。跳空的元素会被自动赋值为0。如X(5)(X)则得1.30001.73214.800001.3000又如键入a(4,3)=6.5,则得a=1.00002.00003.00004.OOOO5.OOOO6.00007.00008.00009.0000006.5000给全行赋值,可用冒号。如给a的第5行赋值。键入a(5,:)=5,4,3得a=1.00002.00003.00004.00005.00006.00007
7、.OOOO8.OOOO9.OOOO006.50005.OOOO4.OOOO3.0000要取出a的第2、4行及第1、3列交点上的元素取出,构成一个新矩阵bo可键入(2,4,1,3)得b=4.OOOO6.000006.500()要抽除a中的第2、4、5行,可利用空矩阵口(指没有元素的矩阵,对任何一个矩阵赋值口,就是使它的元素都消逝,留意它及“零矩阵”不同)。键入a(2,4,5,:)=口得a=123789对于“变量=表达式(或数)”的赋值形式,假如不要等式左端而只剩卜右端,则会自动给出一个临时变量,把右端的结果暂存于中。例如键入7得O.1429O.2857O.42861.00001.14291.28
8、573、复数矩阵、运党及其赋值(O的每一个元素都可以是复数,复数的虚数部分用i或j表示,这是在启动时就在内部设定的。中全部的运算符和函数都对复数有效。例如:键入3+5.2i或3+5.2得c=3.0000+5.2000i(2)复数矩阵有两种赋值方法。对夏数矩阵的元素逐个赋值。如键入l+2i,3+4i;5+6i,7+8i得z=.()()00+2.OOOOi3.OOOO+4.OOOOi5.0000+6.OOOOi7.0000+8.OOOOi对其实部矩阵和虚部矩阵分别赋值。如键入1,3;5,7+2,4j6f8*i得z=1.0000+2.OOOOi3.0000+4.0000i5.0000+6.OOOOi
9、7.0000+8.OOOOi留意:只有数字及i的乘积可以省略乘号,在上述矩阵式中若省略乘号*,就会出错。假如在前面程序中曾给i或j赋过其他值,则i或j已不是虚数符号,那么这些虚数赋值语句就不对了。此时应键入i,,即把原赋的i,j清掉,然后再执行复数赋值语句。(3)复数矩阵的转置、共轨运算函数对矩阵的每个元素求共扼,即把各元素的虚部反号。运算符对矩阵作共扰和转置,即把其行列互换,同时把各元素的虚部反号。因此,假如只求转置而不要共跳,就把和结合起来运用。例如键入(z)(z)得W=1.00002.OOOOi5.OOOO-6.OOOOi3.0000-4.OOOOi7.0000-8.OOOOiU=1.0
10、000-2.OOOOi3.0000-4.OOOOi5.0000-6.OOOOi7.OOOO-8.OOOOiV=1.0000+2.OOOOi5.OOOO+6.OOOOi3.0000+4.OOOOi7.0000+8.OOOOi4、基本矩阵单位矩阵(n)是nXn阶的方阵,其对角线上的元素为1,其余元素均等于0。全O矩阵()是mXn的全部元素均为。的矩阵。全1矩阵()是InXn的全部元素均为1的矩阵。均分向量()是在a及b之间匀称地产生n个点值,形成n维向量。如:键入fl(3,2)2(2,3)3(2)得fl=1 12 11 1f2=000000f3=1001键入f4(0,1,5)得f4=00.2500
11、0.50000.750()1.0000大矩阵可由小矩阵组成,但必需其行列数正确,恰好填满全部元素。如键入f5=l11;222;333得111222333则键入f1532可得Illll100O(一)矩阵的初等运算1、矩阵的加减乘法(O矩阵加减法两矩阵相加(减)就是其对应元素的相加(减),通过+、-运克符实现,要求相加(减)的两个矩阵的结构必需相同。用的语句来检查结构是否相同。例如:键入m,n()得当两个矩阵相加(减)时,假如有一个是标量,则承认算式有效,并自动将该标量扩展成同结构的等元素矩阵,再进行加(减)运算。例如:键入卜IO1;1得y=-2-1O对于一维矩阵(数组),可以用语句来求其长度,它
12、不区分列或行,只有一个输出量,而有两个输出量,所以,作加减法的结构检验时只能用。(2)矩阵乘法nXp的矩阵A及PXnl的矩阵B的乘枳C是一个nXm的矩阵,通过运算符*实现。P是矩阵的列数,也是B矩阵的行数,称为这两个相乘矩阵的内阶数,这里要留意,两矩阵相乘的必要条件是它们的内阶数相等。假如两个相乘的矩阵有一个是标量,则不检查其内阶数,而用该标量乘以矩阵的每个元素。若把y转置,即y为3X1的矩阵,而X是1X3的矩阵,则x*y的内阶数相等为3键入*y得2该式子称为X左乘y。假如使X右乘y,则y*内阶数为1,键入y*x得20-2所以要留意左乘及右乘结果般不同,只有单位矩阵例外,单位矩阵乘以任何矩阵,
13、无论左乘还是右乘,其乘积仍等于该矩阵,但要保证单位矩阵的阶数及相乘矩阵的阶数相等。即(n)*A*(n)2、矩阵除法及线性方程组的解(1)线性代数中没有除法,只有逆矩阵,矩阵的除法是从逆矩阵的概念引伸来的。有左除和右除两种状况。B左除矩阵D相当于矩阵B左乘矩阵D的逆矩阵,记作DBo左除条件是:两矩阵的行数必需相等。(D*B,可见须要D及B的行数相等)B右除矩阵D相当于矩阵B右乘矩阵D的逆矩阵,记作。右除条件是:两矩阵的列数必需相等。(X*l可见须要D及B的列数相等)(2)矩阵除法可以用来便利地解线性方程组。例如要求下列方程组的解x/。6x+3x2+4x=3-2x+5x2+7xa48x-4x2-3
14、x37此方程组可以写成矩阵形式,求解的程序为634257:8-4-3;347;B得O.60007.OOOO-5.4000卜.面来看矩阵左右乘除的一些示例。设123;456,240;135,147:852;360,即A=123456B=240135D=147852360则其乘除的结果见下表。算式结果A*B?*.(内阶数必需相等)A*B6162092325123030A*B10222849DA?.(行数必需相等)l)A,-0.037()00.51851.0000-0.148100.40740.07410.OOOO0.74070.40740.00003、矩阵的乘方和某次函数中只有运算符*、/、-和指数函数、对数函数、开方函数是把矩阵作为一个整体来运算的,其他全部的函数都是对矩阵中的元素分别进行运算的