Matlab教程.doc
《Matlab教程.doc》由会员分享,可在线阅读,更多相关《Matlab教程.doc(216页珍藏版)》请在三一办公上搜索。
1、第1章 基础准备及入门 1.1 最 简单的计算器使用法 2为易于学习,本节以算例方式叙述,并通过算例归纳一些 MATLAB 最基本的规则和语法结构。建议读者,在深入学习之前,先读一读本节。 【例 1.3-1】求 12 + 2 (7 - 4) 3 的算术运算结果。本例演示:最初步的指令输入形式和必需的操作步骤。 (1)用键盘在 MATLAB 指令窗中输入以下内容 (12+2*(7-4)/32(2)在上述表达式输入完成后,按 Enter 键,该指令被执行,并显示如下结果。 ans = 2说明 l 本例在指令窗中实际运行的情况参见图 1.3-1。 l 指令行“头首”的“ ”是“指令输入提示符”,它是
2、自动生成的。本书在此后的输入指令前将不再带提示符“ ”。理由是:(A)为使本书简洁;(B)本书用 MATLAB的 M-book 写成,而在 M-book 中运行的指令前是没有提示符的。 5l l l MATLAB 的运算符(如+、- 等)都是各种计算程序中常见的习惯符号。 一条指令输入结束后,必须按 Enter 键,那指令才被执行。 由于本例输入指令是“不含赋值号的表达式”,所以计算结果被赋给 MATLAB 的一个默认变量“ans”。它是英文“answer”的缩写。 【例 1.3-2】“续行输入”法。本例演示:或由于指令太长,或出于某种需要,输入指令行必须多行书写时,该如何处理。 S=1-1/
3、2+1/3-1/4+ . 1/5-1/6+1/7-1/8S = 0.6345-308 308说明 l MATLAB 用 3 个或 3 个以上的连续黑点表示“续行”,即表示下一行是上一行的继续。 l 本例指令中包含“赋值号”,因此表达式的计算结果被赋给了变量 S。 l 指令执行后,变量 S 被保存在 MATLAB 的工作空间(Workspace)中,以备后用。如果用户不用 clear 指令清除它,或对它重新赋值,那么该变量会一直保存在工作空间中,直到本 MATLAB 指令窗被关闭为止。 1.3.3 数 值、变量和表达式 前节算例只是表演了“计算器”功能,那仅是 MATLAB 全部功能中小小一角。
4、为深入学习 MATLAB,有必要系统介绍一些基本规定。本节先介绍关于变量的若干规定。 一 数值的记述 MATLAB 的数值采用习惯的十进制表示,可以带小数点或负号。以下记述都合法。 3 -99 0.001 9.456 1.3e-3 4.5e33 在采用 IEEE 浮点算法的计算机上,数值通常采用“占用 64 位内存的双精度”表示。其相对精度是 eps (MATLAB 的一个预定义变量),大约保持有效数字 16 位。数值范围大致从 10 到 10 。 二 变量命名规则 l 变量名、函数名是对字母大小写敏感的。如变量 myvar 和 MyVar 表示两个不同的变量。sin 是 MATLAB 定义的
5、正弦函数名,但 SIN,Sin 等都不是。 l 变量名的第一个字符必须是英文字母,最多可包含 63 个字符(英文、数字和下连符)。l 如 myvar201 是合法的变量名。 变量名中不得包含空格、标点、运算符,但可以包含下连符。如变量名 my_var_201 是合法的,且读起来更方便。而 my,var201 由于逗号的分隔,表示的就不是一个变量名。 6三 在MATLAB 默认 的预定义变量 MATLAB 中有一些所谓的预定义变量(Predefined Variable),见表1.3-1。每当MATLAB 启动,这些变量就被产生。这些变量都有特殊含义和用途。建议:用户在编写指令和程序时,应尽可能
6、不对表 1.3-1 所列预定义变量名重新赋值,以免产生混淆。 表 1.3-1 MATLAB 中最常用的预定义变量 预定义变量 ans eps Inf 或 inf i 或 j pi 含 义 计算结果的默认变量名机器零阈值 无穷大,如 1/0 虚单元 i = j = - 1 圆周率 p 预定义变量 NaN 或 nannargin nargout realmax realmin 含 义 不是一个数(Not a Number),如 0/0, / 函数输入宗量数目 函数输出宗量数目 最大正实数 最小正实数 说明 l 假如用户对表中任何一个预定义变量中进行赋值,则那个变量的默认值将被用户新赋的值“临时”覆
7、盖。所谓“临时”是指:假如使用 clear 指令清除 MATLAB 内存中的变量,或 MATLAB 指令窗被关闭后重新启动,那么所有的预定义变量将被重置为默认值,不管这些预定义变量曾被用户赋过什么值。 l 在遵循 IEEE 算法规则的机器上,被 0 除是允许的。它不会导致程序执行的中断,只是在给出警告信息的同时,用一个特殊名称(如 Inf,NaN)记述。这个特殊名称将在以后的计算中以合理的形式发挥作用。 【例 1.3-3】运用以下指令,以便初步了解预定义变量。本例演示:预定义变量已经存在的事实;若干预定义变量的数量级概念。 format long realmax ans = 1.7976931
8、34862316e+308realminans = 2.225073858507201e-308epsans = 2.220446049250313e-016pians = 3.141592653589797四 运算符和表达式 (1)经典教科书上的算术运算符在 MATLAB 中的表达方式,见表 1.3-2。 表 1.3-2 MATLAB 表达式的基本运算符 数学表达式矩阵运算符数组运算符加a + ba + ba + b减a - ba - ba - b乘a ba * ba .* b除a ba / b 或 b aa ./ b 或 b . a幂aba ba . b圆括号( )( )( )说明 l 因
9、为 MATLAB 面向复数设计,其所有运算定义在复数域上。所以对于方根问题,运算只返还一个“主解”。要得复数的全部方根,必须专门编写程序(见例 1.3-6)。 l 因为 MATLAB 面向矩阵/数组设计,标量被看作 (1 1) 的矩阵/数组。 l 数组运算的“乘、除、幂”规则与相应矩阵运算根本不同。前者的算符比后者多一个“小黑点”。(参见例 1.3-9,例 1.3-10。更详细说明请看第 3 章) l MATLAB 用左斜杠或右斜杠分别表示“左除”或“右除”运算。对标量而言,“左除”和“右除”的作用结果相同。但对矩阵来说,“左除”和“右除”将产生不同的结果。 iq2 2bangle(z) 以弧
10、度为单位给出复数 z 的幅角 arctan 。 (2)MATLAB 书写表达式的规则与“手写算式”几乎完全相同。 l 表达式由变量名、运算符和函数名组成。 l 表达式将按与常规相同的优先级自左至右执行运算。 l 优先级的规定是:指数运算级别最高,乘除运算次之,加减运算级别最低。 l 括号可以改变运算的次序。 l 书写表达式时,赋值符“=”和运算符两侧允许有空格,以增加可读性。 五 面向复数设计的运算MATLAB 特点之一 MATLAB 的所有运算都是定义在复数域上的。这样设计的好处是:在进行运算时,不必像其他程序语言那样把实部、虚部分开处理。为描述复数,虚数单位用预定义变量 i 或 j 表示。
11、 复数 z = a + bi = re 直角坐标表示和极坐标表示之间转换的 MATLAB 指令如下。 real(z) 给出复数 z 的实部 a = r cosq 。 imag(z) 给出复数 z 的虚部 b = r sin q 。 abs(z) 给出复数 z 的模 a + b 。 a8【例1.3-4】复数 z1= 3 + 4i, z2= 1+ 2i, z3= 2ep6i表达,及计算 z =z1zz32。本例演示:正确的复数输入法;涉及复数表示方式的基本指令。 (1)经典教科书的直角坐标表示法 z1= 4 + 3i %合法,但建议少用或不用z1 = 4.0000 + 3.0000i说明 l 本书
12、建议读者不要使用这种输入格式。因为这种书写格式,只适用于“数值标量”复数,而不适用于“数值矩阵”。 l 在这种书写格式中,4i 是一个完整的虚数,在 4 和 i 之间不许“空格”存在。 (2)采用运算符构成的直角坐标表示法和极坐标表示法 z2 = 1 + 2 * i %运算符构成的直角坐标表示法 z3=2*exp(i*pi/6) %运算符构成的极坐标表示法 z=z1*z2/z3z2 = 1.0000 + 2.0000i z3 = 1.7321 + 1.0000i z = 1.8840 + 5.2631i(3)复数的实虚部、模和幅角计算 real_z=real(z) image_z=imag(z
13、) magnitude_z=abs(z) angle_z_radian=angle(z)angle_z_degree=angle(z)*180/pireal_z = 1.8840 image_z = 5.2631 magnitude_z = 5.5902 angle_z_radian = 1.2271 angle_z_degree = 70.3048%弧度单位 %度数单位【例 1.3-5】图示复数 z1= 4 + 3i, z2= 1 + 2i 的和(配图 1.3-2)。本例演示:MATLAB 的运9算在复数域上进行;指令后“分号”的作用;复数加法的几何意义;展示 MATLAB 的可视化能力(让
14、读者感受,但不要求理解)。 z1=4+3*i;z2=1+2*i; %在一个物理行中,允许输入多条指令。 %但各指令间要用“分号”或“逗号”分开。 %指令后采用“分号”,使运算结果不显示。 z12=z1+z2 %以下用于绘图 clf,hold on %clf 清空图形窗。逗号用来分隔两个指令。 plot(0,z1,z12,-b,LineWidth,3) plot(0,z12,-r,LineWidth,3) plot(z1,z12,ob,MarkerSize,8) hold off,grid on, axis equal axis(0,6,0,6) text(3.5,2.3,z1) text(5,
15、4.5,z2) text(2.5,3.5,z12) xlabel(real) ylabel(image) shgz12 = 5.0000 + 5.0000i 图 1.3-2 两个复数相加 【例 1.3-6】 用 MATLAB 计算3- 8 能得到 2 吗(配图 1.3-3)?本例演示:MATLAB 运10算定义在复数域的实质;指令后“分号”抑制运算结果的显示;MATLAB 的方根运算规则;更复杂指令的表示方式;展现 MATLAB 的图形表现力。(对于本例指令,读者能有体验就可,不必强求理解。) (1)直接计算时,得到处于第一象限的方根。 a=-8; r_a=a(1/3) %求 3 次根r_a
16、= 1.0000 + 1.7321i(2)3- 8 的全部方根计算如下 3% 先构造一个多项式 p(r) = r- a p=1,0,0,-a; %p 是多项式 p(r) 的系数向量 %指令末尾的“英文状态分号”使该指令运行后,不显示结果。 R=roots(p) %求多项式的根 R = -2.00001.0000 + 1.7321i 1.0000 - 1.7321i(3)图形表示 MR=abs(R(1);t=0:pi/20:2*pi; x=MR*sin(t); y=MR*cos(t); %计算复根的模 %产生参变量在 0 到 2*pi 间的一组采样点 plot(x,y,b:),grid on h
17、old on %画一个半径为 R 的圆 %注意“英文状态逗号”在不同位置的作用 plot(R(2),.,MarkerSize,30,Color,r) %画第一象限的方根 plot(R(1,3),o,MarkerSize,15,Color,b)%画另两个方根 axis(-3,3,-3,3),axis square %保证屏幕显示呈真圆 hold off11说明 图 1.3-3 (-8)的全部三次方根分布 l l 本例有助于理解 MATLAB 的计算特点。 对复数进行方根运算时,MATLAB 只给出处于“第一象限”的那个根。 六 面向数组设计的运算MATLAB 特点之二 1 3【例 1.3-7】实
18、数数组 AR = 的“一行”输入法。本例演示:二维数组的最基本、最 在 MATLAB 中,标量数据被看作 (1 1) 的数组(Array)数据。所有的数据都被存放在适当大小的数组中。为加快计算速度(运算的向量化处理),MATLAB 对以数组形式存储的数据设计了两种基本运算:一种是所谓的数组运算;另一种是所谓的矩阵运算。在此仅以算例展示 MATLAB 的计算特点,更详细的叙述请见第 3 章。 2 4常用输入法;二维数组输入的三大要素。 (1)在键盘上输入下列内容 AR= 1,3;2,4(2)按 Enter 键,指令被执行。 (3)在指令执行后,MATLAB 指令窗中将显示以下结果: AR = 1
19、 3 2 4说明 l 在 MATLAB 中,不必事先对数组维数及大小做任何说明,内存将自动配置。 l 二维数组输入的三大要素:数组标识符“ ”;元素分隔符空格或逗号“,”;数组行间分隔符分号“;”或“回车键”。注意:所有标点符号都是“英文状态的符号”。 12l l MATLAB 对字母大小写是敏感的。比如本例中的数组赋给了变量 AR,而不是 Ar, aR, 或 ar 。 在全部键入一个指令行内容后,必须按下 Enter 键,该指令才会被执行。请读者务必记住此点。出于叙述简明的考虑,本书此后将不再重复提及此操作。 【例 1.3-8】实数数组 AI =AI=5,7 6,8AI = 5 7 6 85
20、678的“分行”输入法。 说明 l 本例采用这种输入法是为了视觉习惯。当然,对于较大的数组也可采用此法。 l 在这种输入方法中,“回车”符用来分隔数组中的行。 【例 1.3-9】对复数数组 A =1- 5i2 - 6i3- 7i4 - 8i进行求实部、虚部、模和幅角的运算。本例演示:复数数组的生成;MATLAB 指令对数组元素“并行操作”的实质。 (1)创建复数数组 AR=1,3;2,4;AI=5,7;6,8; A=AR-AI*i %形成复数矩阵 A = 1.0000 - 5.0000i 3.0000 - 7.0000i 2.0000 - 6.0000i 4.0000 - 8.0000i(2)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 教程
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-2391336.html