- 1、本文档共82页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 符号运算29973.ppt
第6章 符号运算 科学计算可分为两类:一类是纯数值的计算,例如求函数的值,以及方程的数值解等等;另一类计算是符号运算,又称代数运算,这是一种智能化的计算,处理的是符号。符号可以代表整数、有理数、实数和复数,也可以代表多项式、函数,还可以代表数学结构,如集合、群的表示等等。我们在数学的教学和研究中进行的数学运算多为符号运算。 MATLAB中的符号数学工具箱(Symbolic Math Toolbox)集成了丰富的符号运算功能。基本的符号数学工具箱包含100多个MATLAB函数,包括的内容有:微积分、线性代数、化简代数表达式、方程求解、特殊的数学函数、变量精度算法和数学变换等等。 工具箱中所有的符号表达式的计算都是在Maple内核下执行的。Maple是一种功能强大、通用的数学和工程软件,是世界上最值得信赖、最完整的数学软件之一。其中的符号运算功能尤为突出。Maple系统最先主要由加拿大的沃特卢大学(University of Waterloo)开发的,后来由瑞士的一个技术部门发展,最终由Waterloo Maple公司商业化运作。 【学习目标】 掌握对符号变量的定义和基本操作。 掌握对符号表达式的定义和基本操作。 掌握符号矩阵的生成和运算方法。 了解符号微分、符号积分运算方法。 掌握符号方程的求解方法。 6.1 符号变量、符号表达式和符号方程的生成 符号数学工具箱定义了MATLAB的一个新的数据类型:符号对象(symbolic object),其类型名标识为“sym”。符号对象内部的储存内容是字符串,用来表示符号变量、符号表达式以及矩阵等等。生成符号变量和符号表达式的函数是sym和syms。 6.1.1使用sym函数生成符号变量和符号表达式 sym函数可以生成单个的符号数值、符号变量和符号表达式。格式为: S=sym(x) 它生成了一个符号对象S。x可以是字符、字符串、表达式或字符表达式等等。如果x是一个数值,则得到该数值的符号表示。如果x是一个字符串,则可生成一个符号变量或符号表达式。例如, sqrt(2) ans = 1.4142 aa=sqrt(sym(2)) ans = 2^(1/2) sqrt(2)是对数值2进行开方运算;而在式aa=sqrt(sym(2))中,将2用sym命令转化为符号对象,这样,就得到了使用字符串形式表示的“根号2”。可使用double命令获取符号对象aa对应的数值运算结果。 double(aa) ans = 1.4142 如果表达式里面的元素都定义为符号对象,则表达式之间还可以按代数规则进行运算。比如: sym(2)/sym(5) + sym(1)/sym(3) ans = 11/15 【例6-1】使用sym函数创建符号变量和符号表达式。 分别输入以下语句: x=sym(x) y=sym(hello) z=sym((1+sqrt(5))/2) f= sym (a*x^2+b*x+c) f-a 返回结果依次为: x = x y = hello z = (1+sqrt(5))/2 f = a*x^2+b*x+c ??? Undefined function or variable a. 本例中,虽然符号表达式a*x^2+b*x+c创建成功并将其赋予变量f,但并没有定义符号变量a,因此系统不能进行f-a运算,给出了错误信息。 6.1.2使用syms函数定义符号变量和符号表达式 syms函数可以一次创建多个符号变量,调用格式为: syms var1,var2,var3... ,变量名之间的间隔也可以是空格。 【例6-2】 使用syms函数定义符号变量和符号表达式。 输入以下语句: syms a b c x f=a*x^2+b*x+c f-a 返回结果为: f= a*x^2+b*x+c ans= a*x^2+b*x+c-a 与例6-1相比,本例中f-a运算成功。 6.1.3 符号方程的生成 方程与函数的区别在于函数是由数字和变量组成的代数式,而方程则是包含了函数的等式,在MATLAB中,生成符号方程的方法与使用sym函数生成符号表达式类似。 【例6-3】 用sym生成符号方程:a*x^2+b*x+c= 0。 e1=sym(a*x^2+b*x+c= 0) 结果为: e1= a*x^2+b*x+c=0 6.2 符号变量的基本操作 findsym可以实现对表达式中所有自由变量或指定数目的独立自变量的自动认定。具体如下: findsym(S) 寻找表达式S中所有符号变量; findsym(S, n) 从表达式S中找出最靠近字母x的n个符号变量。若S中有两
文档评论(0)