MATLAB基础教程 教学课件 ppt 作者 978-7-302-24618-3 ch07

上传人:E**** 文档编号:89347966 上传时间:2019-05-23 格式:PPT 页数:62 大小:485KB
返回 下载 相关 举报
MATLAB基础教程 教学课件 ppt 作者  978-7-302-24618-3 ch07_第1页
第1页 / 共62页
MATLAB基础教程 教学课件 ppt 作者  978-7-302-24618-3 ch07_第2页
第2页 / 共62页
MATLAB基础教程 教学课件 ppt 作者  978-7-302-24618-3 ch07_第3页
第3页 / 共62页
MATLAB基础教程 教学课件 ppt 作者  978-7-302-24618-3 ch07_第4页
第4页 / 共62页
MATLAB基础教程 教学课件 ppt 作者  978-7-302-24618-3 ch07_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《MATLAB基础教程 教学课件 ppt 作者 978-7-302-24618-3 ch07》由会员分享,可在线阅读,更多相关《MATLAB基础教程 教学课件 ppt 作者 978-7-302-24618-3 ch07(62页珍藏版)》请在金锄头文库上搜索。

1、2019年5月23日,第1页,第7章 MATLAB符号处理,MATLAB R2010a 基础教程 清华大学出版社,教学目标 教学重点 教学内容,2019年5月23日,第2页,教学目标,掌握基本符号运算 掌握符号函数图形绘制 掌握符号微积分的运算 掌握符号方程的求解方法 掌握符号积分变换 了解 Maple 函数的调用方法 了解符号函数计算器的使用,2019年5月23日,第3页,教学重点,符号函数图形绘制 符号微积分的运算 符号方程的求解方法 符号积分变换,2019年5月23日,第4页,教学内容,符号运算简介 符号表达式的化简与替换 符号函数图形绘制 符号微积分 符号方程的求解 符号积分变换 MA

2、PLE 函数的调用 符号函数计算器,2019年5月23日,第5页,符号对象,符号对象是符号工具箱中定义的另一种数据类型。符号对象是符号的字符串表示。在符号工具箱中符号对象用于表示符号变量、表达式和方程。下例说明了符号对象和普通的数据对象之间的差别。 例 7-1 符号对象和普通数据对象之间的差别 在命令窗口中输入如下命令 sqrt(2) ans = 1.4142 x=sqrt(sym(2) x = 2(1/2),返回数值结果,返回符号结果,2019年5月23日,第6页,由上例可以看出,当采用符号运算时,并不计算出表达式的结果,而是给出符号表达。如果可以查看符号 x 所表示的值,在窗口中输入: d

3、ouble(x) ans = 1.4142 另外,对符号进行的数学运算与对数值进行的数学运算并不相同,看下面的例子 例 7-2 符号运算和数值运算之间的差别 sym(2)/sym(5) ans = 2/5,2019年5月23日,第7页,两个符号进行运算,结果为分数形式。继续输入: 2/5 + 1/3 ans = 0.7333 sym(2)/sym(5) + sym(1)/sym(3) ans = 11/15 double(sym(2)/sym(5) + sym(1)/sym(3) ans = 0.7333 由上例看出,当进行数值运算时,得到的结果为 double 型数据,采用符号进行运算时,输

4、出的结果为分数形式。,2019年5月23日,第8页,符号变量、表达式的生成,MATLAB 中有两个函数用于符号变量、符号表达式的生成,这两个函数为 sym 和syms,分别用于生成一个或多个符号对象。 1. sym 函数 sym 函数可以用于生成单个的符号变量。在上面一节中已经初步涉及了 sym 函数,本节将要详细介绍该函数。该函数的调用格式为: S = sym(A),如果参数 A 为字符串,则返回的结果为一个符号变量或者一个符号数值;如果 A 是一个数字或矩阵,则返回结果为该参数的符号表示。 x = sym(x),该命令创建一个符号变量,该变量的内容为 x,表达为 x。 x = sym(x,

5、real),指定符号变量 x 为实数。 x = sym(x,unreal),指定 x 为一个纯粹的变量,而不具有其他属性。 S = sym(A,flag),其中 参数 flag 可以为 r, d, e, 或者 f 中的一个。该函数将数值标量或者矩阵转化为参数形式,该函数的第二个参数用于指定浮点数转化的方法,该函数各个取值的意义如表所示。,2019年5月23日,第9页,创建复数符号变量,MATLAB 中一种特殊的符号表达式为复数,创建复数符号变量可以有两种方法: 直接创建法 间接创建法,2019年5月23日,第10页,findsym 函数,findsym 函数 该函数用于确定一个表达式中的符号变

6、量。 在上面的例子中,表达式 f 中包含有四个符号变量,表达式 g 中包含有 1 个符号变量,其他变量为普通变量。 findsym 函数通常由系统自动调用,在进行符号运算时,系统调用该函数确定表达式中的符号变量,执行相应的操作。,2019年5月23日,第11页,subs 函数,subs 函数 subs 函数可以将符号表达式中的符号变量用数值代替。 在对多变量符号表达式使用 subs 函数时,如果不指定变量,则系统选择默认变量进行计算。默认变量的选择规则为:对于只包含一个字符的变量,选择靠近 x 的变量作为默认变量;如果有两个变量和 x 之间的距离相同,则选择字母表后面的的变量作为默认变量。,2

7、019年5月23日,第12页,符号和数值之间的转化,在符号变量生成一节中已经介绍了 sym 函数,该函数用于生成符号变量,也可以将数值转化为符号变量。转化的方式由参数“flag”确定。flag 的取值及具体意义在上面的一节中已经叙述过。 sym 的另一个重要作用为将数值矩阵转化为符号矩阵。,2019年5月23日,第13页,任意精度的计算,符号计算的一个非常显著的特点是:在计算过程中不会出现舍入误差,从而可以得到任意精度的数值解。如果希望计算结果精确,可以用符号计算来获得足够高的计算精度。符号计算相对于数值计算而言,需要更多的计算时间和存储空间。 MATLAB 工具箱中有三种不同类型的算术运算:

8、 数值型:MATLAB 的浮点数运算; 有理数类型:Maple 的精确符号运算; VPA 类型:Maple 的任意精度算术运算。,2019年5月23日,第14页,在三种运算中,浮点运算速度最快,所需的内存空间小,但是结果精确度最低。双精度数据的输出位数由 format 命令控制,但是在内部运算时采用的是计算机硬件所提供的八位浮点运算。而且,在浮点运算的每一步,都存在一个舍入误差,如上面的运算中存在三步舍入误差:计算 1/3 的舍入误差,计算 1/2+1/3 的舍入误差,和将最后结果转化为十进制输出时的舍入误差。 符号运算中的有理数运算,其时间复杂度和空间复杂度都是最大的,但是,只要时间和空间允

9、许,能够得到任意精度的结果。 可变精度的运算运算速度和精确度均位于上面两种运算之间。其具体精度由参数指定,参数越大,精确度越高,运行越慢。,2019年5月23日,第15页,创建符号方程(1/2),1创建抽象方程 MATLAB 中可以创建抽象方程,即只有方程符号,没有具体表达式的方程。若要创建方程,并计算其一阶微分的方法如下: f=sym(f(x); syms x h; df = (subs(f,x,x+h)-f)/h df = (f(x+h)-f(x)/h 抽象方程在积分变换中有着很多的应用。,2019年5月23日,第16页,创建符号方程(2/2),2创建符号方程 创建符号方程的方法有两种:

10、利用符号表达式创建 先创建符号变量,通过符号变量的运算生成符号函数 直接生成符号表达式 创建 M 文件 利用 M 文件创建的函数,可以接受任何符号变量作为输入,作为生成函数的自变量,2019年5月23日,第17页,符号表达式的化简与替换,符号表达式的化简 符号表达式的替换,2019年5月23日,第18页,符号表达式的化简,MATLAB中下列函数可以实现符号表达式的化简 collect expand horner factor simplify simple,2019年5月23日,第19页,collect,该函数用于合并同类项,具体调用格式为: R = collect(S),合并同类项。其中 S

11、 可以是数组,数组的每个元素为符号表达式。该命令将 S 中的每个元素进行合并同类项。 R = collect(S,v),对指定的变量 v 进行合并,如果不指定,则默认为对 x 进行合并,或者由 findsym 函数返回的结果进行合并。,2019年5月23日,第20页,expand,expand 函数用于符号表达式的展开。其操作对象可以是多种类型,如多项式、三角函数、指数函数等。 用户可以利用 expand 函数对任意的符号表达式进行展开。,2019年5月23日,第21页,horner,horner 函数将函数转化为嵌套格式。嵌套格式在多项式求值中可以降低计算的时间复杂度。该函数的调用格式为:

12、R = horner(P),其中 P 为由符号表达式组成的矩阵,该命令将 P 中的所有元素转化为相应的嵌套形式。,2019年5月23日,第22页,factor 和 simplify,factor 函数实现因式分解功能,如果输入的参数为正整数,则返回此数的素数因数。 simplify 函数实现表达式的化简,化简所选用的方法为 Maple 中的化简方法。,2019年5月23日,第23页,simple,该函数同样实现表达式的化简,并且该函数可以自动选择化简所选择的方法,最后返回表达式的最简单的形式。函数的化简方法包括:simplify、combine(trig)、radsimp、convert(ex

13、p)、collect、factor、expand 等。该函数的调用格式为: r = simple(S),该命令尝试多种化简方法,显示全部化简结果,并且返回最简单的结果;如果 S 为矩阵,则返回使矩阵最简单的结果,但是对于每个元素而言,则并不一定是最简单的。 r,how = simple(S),该命令在返回化简结果的同时返回化简所使用的方法。,2019年5月23日,第24页,符号表达式的替换,MATLAB 中,可以通过符号替换使表达式的形式简化。符号工具箱中提供了两个函数用于表达式的替换:subexpr 和 subs。 1subexpr 该函数自动将表达式中重复出现的字符串用变量替换,该函数的调

14、用格式为: Y,SIGMA = subexpr(X,SIGMA),指定用符号变量 SIGMA 来代替符号表达式(可以是矩阵)中重复出现的字符串。替换后的结果由 Y 返回,被替换的字符串由 SIGMA 返回; Y,SIGMA = subexpr(X,SIGMA),该命令与上面的命令不同之处在于第二个参数为字符串,该命令用来替换表达式中重复出现的字符串。,2019年5月23日,第25页,subs 函数,2subs 函数 subs 可以用指定符号替换表达式中的某一特定符号。该函数在第一节中已经有简单介绍,本节介绍该函数的更多功能。该函数的调用格式为: R = subs(S),对于 S 中出现的全部符

15、号变量,如果在调用函数或工作区间中存在相应值,则将值代入,如果没有相应值,则对应的变量保持不变; R = subs(S, new),用新的符号变量替换 S 中的默认变量,即有 findsym 函数返回的变量; R = subs(S,old,new),用新的符号变量替换 S 中的变量,被替换的变量由 old 指定,如果 new 是数字形式的符号,则数值代替原来的符号计算表达式的值,所得结果仍是字符串形式,如果 new 是矩阵,则将 S 中的所有 old 替换为 new,并将 S 中的常数项扩充为与 new 维数相同的常数矩阵。,2019年5月23日,第26页,符号函数图形绘制,符号函数曲线的绘制

16、 符号函数曲面网格图及表面图的绘制 等值线的绘制,2019年5月23日,第27页,符号函数曲线的绘制,MATLAB 中,ezplot 函数和 ezplot3 函数分别实现符号函数二维和三维曲线的绘制。 ezplot 函数可以绘制显函数的图形,可以绘制隐函数的图形,也可以绘制参数方程的图形。对于显函数,其调用格式有: ezplot(f),绘制函数 f 在区间 内的图形。 ezplot(f,min,max),绘制函数 f 在指定区间 min,max 内的图形。该函数打开标签为 Figure No. 1 的图形窗口,并显示图像。如果已经存在图形窗口,在该函数在标签数最大的窗口中显示图形。 ezplot(f,xmin xmax,fign),在指定的窗口 fign 中绘制函数的图像。,2019年5月23日,第28页,对于隐函数,ezplot 函数的调用格式有: ezplot(f),绘制函数在区间,的图形; ezplot(f,xmin,xmax,ymin,ymax),绘制

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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