《MATLAB的数学运算基础.ppt》由会员分享,可在线阅读,更多相关《MATLAB的数学运算基础.ppt(40页珍藏版)》请在金锄头文库上搜索。
1、实验项目:实验项目:MATLAB的数学运算基础实实 验验 二二实验目的实验目的:1.掌握MATLAB的基本操作方法: 变量的命名规则; 基本运算符; 标点符号的正确使用; 基本的数学函数; 语句形式; 数值格式; 命令窗常用控制命令; 内存变量的查询、编辑、删除等操作; 2.掌握MATLAB在高等数学中的一些基本应用。实验内容实验内容1.MATLAB的变量2.MATLAB的运算符号3.MATLAB的标点符号4.MATLAB的数学函数5.MATLAB的语句形式6.MATLAB的数值显示格式7.命令窗常用控制命令8. Matlab在高等数学中的应用一、一、MATLAB的变量的变量1.1 变量命名规
2、则变量命名规则变量名必须以字母开头,之后由字母、数字和下划线组成;变量名不得包含空格、括号、标点符号,仅可以包含下划线; 例如:abc_df01是合法的,2_r、m,why则是不合法。变量名中的英文字母有大小写的区别,即 A和a代表不同含义;MATLAB提供的标准函数名必须用小写字母;变量名的最大长度是有规定的:不同版本的系统规定不同:19个字符、31或63个字符等;可调用namelengthmax函数得到系统规定长度;和其他的程序设计语言不同,MATLAB能自动根据赋值和操作来识别变量类型。即变量使用之前,不需要指定变量的数据类型,也不必事先声明变量。 MATLAB中变量的作用域一般默认为局
3、部变量,仅在当前调用的M文件中有效。如果要定义全局变量,则必须用global来声明。一般情况下,为了和局部变量有所区别,常将全局变量用大写字母表示,但这并不是必需的,只是人为的一种约定而已。1.2 MATLAB默认的预定义变量 MATLAB中存在一些特殊的由系统本身定义的预定义变量,也称为常量,它们在启动时由系统自动生成。预定义变量有特定的含义,用户在编写指令和程序时,应尽量避免使用这些预定义变量,以免混淆。特殊变量表预定义变量含 义预定义变量含 义ans计算结果的缺省变量名NaN 或 nan 不定量,如 0/0eps 计算机的最小数,当和1相加就产生一个比1大的数 nargin 函数的输入变
4、量 数目Inf 或 inf 无穷大,如 1/0nargout 函数的输出变量数目i 或 j 虚数单位 i=j=(-1)1/2realmax 最大正实数pi 圆周率 的近似值(=3.1415926.)realmin 最小正实数flops浮点运算数二、二、MATLAB的运算符号的运算符号MATLAB的运算优先级从高到低:指数运算、乘除运算、加减运算,括号可改变优先级顺序,计算如同在演算纸上进行,算式可赋值也可不赋值。运 算符 号运 算符 号加法+减法-乘法*数组相乘.*左除数组左除.右除/数组右除./幂次方数组幂次方. 左除和右除的区别:4/8的结果为0.5;而48的结果为2。三、三、MATLAB
5、的标点符号的标点符号 标点在MATLAB命令中的作用极其重要。为了保证命令的正确执行,标点符号必须在英文状态下输入。名 称 标点作 用空格分隔输入量;分隔数组元素逗号,作为要显示结果的指令的结尾;分隔输入量;分隔数组元素黑点.小数点分号;作为不显示结果的指令的结尾;分隔数组中的行冒号:用作生成一维数组;用作下标时表示该维上的所有元素注释号% 其后内容为注释内容单引号 其内容为字符串圆括号 ( )用作数组标识;表示函数输入变量列表时用方括号 输入数组时用;表示函数输出变量列表时用花括号 用作元胞数组标识下连符_用在变量、函数和文件名中续行号 将长指令行分成两行输入,保持两行的逻辑连续。进一步的注
6、: MATLAB的每条命令后,若为逗号或无标点符号,则回车后显示命令的结果;若命令后为分号,则回车后禁止显示结果,但变量的值是存在的,在工作空间可看到。例1 a=3, b=21 %逗号隔开,回车后命令窗口显示为a = 3b= 21a=3; b=21 %第一个用分号隔开,回车后命令窗口显示为b= 21 %第一个变量的结果不再显示在命令窗口a %但可在提示符后直接输入变量名查看变量的值a= 3四、四、MATLAB的数学函数的数学函数4.1 三角函数函数名含义函数名含义函数名含义sin正弦tan正切sec正割asin反正弦atan反正切asec反正割cos余弦cot余切csc余割acos反余弦aco
7、t反余切acsc反余割 MATLAB提供了许多数学函数,包括三角函数、指数与对数函数、复数函数等。4.2 指数与对数函数函数名含义函数名含义exp以e为底的指数pow22的幂次log2以2为底的对数log自然对数log10以10为底的对数sqrt求平方根nextpow2返回2的下一个最近幂4.3 复数函数函数名含义函数名含义abs复数的模real复数的实部angle相位角unwrap相位展开complex构造复数isreal判断实数conj共轭复数cplxpair整理为共轭对imag复数的虚部4.4 取整函数函数名含义函数名含义fix朝0方向取整round四舍五入floor朝负无穷方向取整 r
8、em除后取余ceil朝正无穷方向取整 sign符号函数mod求余数使用函数须注意以下几点:a、函数一定要出现在等式的右边b、函数对其自变量的个数和格式都有一定的要求c、函数允许嵌套例2 一个复数函数使用的例子 z1=3+4i%输入一个复数z1z1 = 3.0000 + 4.0000i a=real(z1)%求复数z1的实部a = 3 b=imag(z1)%求复数z1的虚部b = 4 r=abs(z1) %求复数z1的模r = 5 theta=angle(z1) %求复数z1的相角theta = 0.9273 五、五、MATLAB的语句形式的语句形式5.1 赋值语句: 变量表达式; 或 表达式a
9、)、表达式是用运算符将有关运算量(变量、常量和函数等)连接起来的式子;b)、第一种语句形式中,等于符号将表达式的值赋予变量。当键入回车键时,该语句被执行。语句执行之后,窗口自动显示出执行的结果。如果希望结果不被显示,则只要在语句之后加上一个分号(;)即可。此时尽管结果没有显示,但它依然被赋值并在MATLAB工作空间中分配了内存。c)、 第 二 种 语 句 形 式 中 , 表 达 式 的 值 将 赋 给MATLAB的永久变量ans。5.2、表达式的规则 MATLAB的表达规则与一般手写算式基本相同。a) 表达式由变量名、运算符和函数名组成。b) 表达式按优先级自左向右运算,括号可改变优先级顺序。
10、c) 优先级顺序由高到底为:指数运算、乘除运算、加减运算。d) 表达式中赋值符“=”和运算符两侧允许有空格。例3 计算表达式的值,并显示计算结果。在MATLAB命令窗口输入命令:x=1+2i;y=3-sqrt(17);z=(cos(abs(x+y)-sin(78*pi/180)/(x+abs(y)输出结果是:z = -0.3488 + 0.3286i六、六、MATLAB的数值显示格式的数值显示格式6.1 数值的记述 MATLAB采用习惯的采用习惯的十进制表示法十进制表示法表示表示一个常数,具体可采用日常记数法和科学一个常数,具体可采用日常记数法和科学记数法两种表示方法。记数法两种表示方法。 例
11、如:3 -99 0.01 1.3e-3 4.5e336.2 数值显示格式MATLAB中,数据的显示格式由format命令控制。 但format只是影响结果的显示,不影响其计算与存储。 format命令的格式为: format 格式符 其中格式符决定数据的输出格式 a)、用户可以在命令窗中直接输入上述格式的命令来修改数据的显示格式,该修改仅对当前指令窗有效。 b)、 另 外 , 用 户 也 可 以 通 过 下 拉 菜 单 File:Preferences 打开参数设置对话框进行设置。该修改永久有效,除非再次修改。在一般情况下,MATLAB内部每一个数据元素都是用双字长浮点数(双精度数)来表示、执
12、行运算和存储的。常见数据显示命令及示例命令含 义举 例format short(默认设置)短格式。小数点后4位有效数字,最多不超过7位。大于1000时,用科学记数法表示.314.15903.1416e+002format short e短格式e方式。 5位科学记数表示3.1416e+000format long长格式。15位数字表示3.14159265358979format long e长格式e方式3.14159265358979e+000format rat有理格式,近似有理数表示355/133七、命令窗七、命令窗常用控制命令常用控制命令命令含 义命令含 义cd设置当前工作目录exit/q
13、uit退出MATLABcd .返回上一级目录open打开文件clc清除命令窗中的内容more使显示内容分页显示clear清除内存中所有内容pwd显示当然目录clear 变量名清除指定的变量type 文件名在命令窗口中显示指定文件dir列出指定目录下的所有文件delete 文件名删除指定文件MATLAB中的常用控制命令,包括列文件名、显示或删除文件、显示或改变当前目录等。详见下面的介绍:命令含 义who显示当前工作空间中所有内存变量的名称列表 whos显示内存变量的详细列表,包含变量类型、大小、数据格式等详细信息。which指出某个文件的路径目录what信息显示当前目录下所有与MATLAB相关的
14、文件及其路径几个简单的例子:dir c:mymatlab %显示c:mymatlab目录下的文件清单open c:mymatlabmy2009.m %打开c:mymatlab目录下的my2009.m文件which my2009.m %指出my2009.m所在的目录exit %推出MATLAB一个更详尽的例子clear%删除工作区中所有定义过的变量whos%查看当前工作区内变量信息,无显示表示没有定义的变量 xy=1; yx=2; %对变量赋值 xy%查看变量xy的当前数值xy = 1 whos Name Size Bytes Class xy 1x1 8 double array yx 1x1
15、 8 double arrayGrand total is 2 elements using 16 bytes clear xy yx%删除变量xy及yx whos xy%这时变量xy已经不存在了? Undefined function or variable xy.其它保存工作空间 命令格式: save filename variables将变量列表variables所列出的变量保存到磁盘文件filename中Variables所表示的变量列表中,不能用逗号,各个不同的变量之间只能用空格来分隔。未列出variables时,表示将当前工作空间中所有变量都保持到磁盘文件中。缺省的磁盘文件扩展名为
16、“.mat”,可以使用“-”定义不同的存储格式(ASCII、V4等)载入工作空间 命令格式: load filename variables将以前用save命令保存的变量variables从磁盘文件中调入MATLAB的工作空间。用load 命令调入的变量,其名称为用save命令保存时的名称,取值也一样。Variables所表示的变量列表中,不能用逗号,各个不同的变量之间只能用空格来分隔。未列出variables时,表示将磁盘文件中的所有变量都调入工作空间。额外的说明上述的所有对内存变量的管理命令也可以直接在MATLAB的工作空间中执行: 如:打开工作空间浏览器( WorkSpace ),可以看
17、到所有内存变量的详细说明,和whos指令效果相同。并且可以通过右键点击变量引出现场菜单,对该变量进行编辑、删除、重命名、保存、绘图等操作。还可以在右键现场菜单中选择Save Workspace as保存所有内存变量,或Save Selection as保存指定变量。应用举例应用举例例4 计算星球之间的万有引力。 G = 6.67E-11;% 引力恒量 sun=1.987E30;% 太阳质量1.9871030千克 earth = 5.975E24;% 地球质量5.9751024千克 d1=1.495E11;% 太阳和地球的距离1.4951011米 g1 = G*sun*earth/d12% 太阳
18、和地球的引力执行结果 g1 = 3.5431e+022 moon=7.348E22;% 月亮质量7.3481022千克 d2=3.844E5;% 月亮和地球两者间距3.844105米 g2 = G*moon*earth/d22% 月亮和地球的引力执行结果: g2 = 1.9818e+026例 5 设 有 三 个 复 数 a 3 4i, b 1 2i, ,计算x=ab/c a=3+4i; b=1+2i; c=2*exp(i*pi/6); x=a*b/c执行结果: x = 0.3349 + 5.5801i例6 计算下式的结果,其中x= 45 x=pi/180*(45); %将角度单位由度转换为函数
19、要求的弧度值z=(sin(x)+sqrt(35)/72(1/5)执行结果: z = 2.8158上机练习上机练习1、将讲授过的例子中的命令输入MATLAB命令窗口,执行命令,观察输出结果并体会MATLAB在该方面的功能。2、求12+2 (7-4)32的运算结果。3、计算:sin20-5ln4+3.52。4、计算: a、(2-3i)/(1-i); b、八、八、Matlab在高等数学中应用在高等数学中应用1.求极限2.求导数3.求方程的根4.求积分8.1 求极限求极限例 7 求下列函数的极限 计算函数极限的命令及其调用格式说明:T的取值为“right”或“left”;a的默认值为0.1)2)编写程
20、序如下 syms a x y=tan(a*x2)/(2*x2+3*(sin(x)3); limit(y) syms x y=1/(x*(log(x)2)-1/(x-1)2; limit(y,x,1,right)8.2 求导数求导数计算函数导数的命令及其调用格式说明: 是求函数 关于 的N阶偏导数,用它还可求隐函数的导数。编写程序如下: syms x f=log(x); dydx=diff(f)dydx2=diff(f,2)z=subs(dydx2,1.5)dydx =1/xdydx2 =-1/x2z =-1/(1.5)2 eval(z)ans = -0.4444 说明:1)函数subs(f,o
21、ld,new)可对符号表达式中的变量进行替换,即用new替换old字符串;当old=x时可省略。 2)用eval可将符号表达式转换成数值表达式;反之,用sym可将数值表达式转换成符号表达式。例8:求 的一阶和二阶导数,并计算 的二阶导数在 处的值。8.3求方程的根例9 求方程 的全部根。 在MATLAB命令窗口输入: p=1,7,0,9,-20; %建立多项式系数向量 x=roots(p) %求根得到的结果是: x = -7.2254 -0.4286 + 1.5405i -0.4286 - 1.5405i 1.08268.4求积分计算函数积分的命令及其调用格式说明: 为积分变量, 积分下限, 积分上限。(对于广义积分为无穷,记号inf.)例10 求定积分编写程序如下: syms x f=sqrt(x2+3); int(f,x,-1,1);练习题:1 求下列个极限: 1) 2)2求下列各函数的一阶和二阶导数,并求函数y的二阶导数在 处的值:3 1) 2)3 求方程 的全部根4 求下列各积分 1) 2)