资源预览内容
第1页 / 共96页
第2页 / 共96页
第3页 / 共96页
第4页 / 共96页
第5页 / 共96页
第6页 / 共96页
第7页 / 共96页
第8页 / 共96页
第9页 / 共96页
第10页 / 共96页
亲,该文档总共96页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第第2章章 符号计算符号计算教学目标教学目标教学重点教学重点教学内容教学内容教学目标一是讲述一是讲述MATLAB符号计算基本知识,包符号计算基本知识,包括符号对象的创建、符号数字、符号表达括符号对象的创建、符号数字、符号表达式的操作;式的操作; 二是介绍符号微积分的计算;二是介绍符号微积分的计算;三是介绍符号矩阵分析和代数方程(组)三是介绍符号矩阵分析和代数方程(组)的符号解法;的符号解法;四是介绍符号计算结果的可视化。四是介绍符号计算结果的可视化。教学重点熟悉符号对象的创建、符号数字、符号熟悉符号对象的创建、符号数字、符号表达式的操作。表达式的操作。熟悉符号微积分的基本计算函数指令。熟悉符号微积分的基本计算函数指令。熟悉代数方程(组)的符号解法。熟悉代数方程(组)的符号解法。熟悉符号计算结果可视化的的基本指令。熟悉符号计算结果可视化的的基本指令。了解符号计算帮助系统及其帮助指令。了解符号计算帮助系统及其帮助指令。 教学内容2.1符号对象和符号表达式符号对象和符号表达式2.2 符号数字及表达式的操作符号数字及表达式的操作 2.3 符号微积分符号微积分2.4 微分方程的符号解法微分方程的符号解法2.5 符号变换和符号卷积符号变换和符号卷积 2.6 符号矩阵分析和代数方程解符号矩阵分析和代数方程解 2.7 代数状态方程求符号传递函数代数状态方程求符号传递函数 2.8 符号计算结果的可视化符号计算结果的可视化 2.9 符号计算资源深入利用符号计算资源深入利用Matlab的符号计算功能的符号计算功能umatlab自产生起就在数值计算上功能卓著自产生起就在数值计算上功能卓著,深受各专深受各专业计算人员的欢迎业计算人员的欢迎.但由于在数学但由于在数学,物理等各种科研和工物理等各种科研和工程应用中经常会遇到符号运算的问题程应用中经常会遇到符号运算的问题. 为此为此, 公司于公司于1993年购买了年购买了 Maple 软件的使用权软件的使用权,并在此基础上并在此基础上,开开发了符号计算工具箱发了符号计算工具箱 (Symbolic Math Toolbox)umatlab 从从2008b 开始与符号计算语言开始与符号计算语言MuPAD 相相结合,到结合,到2009b止仍然支持止仍然支持Maple引擎(需单独安装引擎(需单独安装Maple软件)软件) 。在此版本之间输入指令。在此版本之间输入指令symengine弹出选择弹出选择MuPAD和和 Maple引擎的窗口。引擎的窗口。u从从2010a开始不再支持开始不再支持Maple引擎。引擎。符号运算与数值运算的区别:符号运算与数值运算的区别:符号运算中,解算数学表达式、方程时,不是在离散符号运算中,解算数学表达式、方程时,不是在离散化的数值点上进行,而是凭借一系列恒等式和数学定化的数值点上进行,而是凭借一系列恒等式和数学定理,通过推理和演绎,获得解析结果。这种计算建立理,通过推理和演绎,获得解析结果。这种计算建立在数值完全准确表达和推演严格解析的基础上,所得在数值完全准确表达和推演严格解析的基础上,所得结果是完全准确的。结果是完全准确的。符号运算符号运算-代数运算,公式推导代数运算,公式推导数值运算数值运算-算术运算算术运算代值代值2.1 符号对象和符号表达式符号对象和符号表达式在在matlab中中,数值和数值变量用于数值的存储和各种数值计算数值和数值变量用于数值的存储和各种数值计算.而而符号常量符号常量,符号变量符号变量,符号函数符号函数,符号操作等则是用来形成符号操作等则是用来形成符号符号表达式表达式,严格按照代数严格按照代数,微积分等课程中的规则微积分等课程中的规则,公式进行运算公式进行运算,并并尽可能给出尽可能给出解析表达式解析表达式.2.1.1 符号对象的创建和衍生符号对象的创建和衍生 数值计算数值计算-变量先赋值变量先赋值,再使用再使用. 符号计算符号计算-先定义基本的符号对象先定义基本的符号对象(可以是可以是常量常量,变变 量量,表达式表达式),然后用这些基本符号对象去构成新的表达式然后用这些基本符号对象去构成新的表达式,再进行所需的符号运算再进行所需的符号运算2.1.1 符号对象的创建和衍生符号对象的创建和衍生1. 生成符号对象的基本规则生成符号对象的基本规则 任何基本符号对象(数字、参数、变量、表达式)任何基本符号对象(数字、参数、变量、表达式)都必须借助专门的符号函数指令都必须借助专门的符号函数指令sym或或syms定义。定义。 任何包含符号对象的表达式或方程,将继承符号任何包含符号对象的表达式或方程,将继承符号对象的属性。即任何包含符号对象的表达式、方程对象的属性。即任何包含符号对象的表达式、方程也一定是符号对象。也一定是符号对象。2 符号数字的定义符号数字的定义格式:格式:sc=sym(num) % sc为值为为值为num的符号数字的符号数字注意:注意: i) 单引号必须在英文状态下输入,构成字符串单引号必须在英文状态下输入,构成字符串 ii) num为一个具体的数字为一个具体的数字如:如: sc=sym(2/3) sb=sym(pi+sqrt(5)sc=2/3sb =pi + 5(1/2)2 符号数字的定义符号数字的定义【例例2.1-1】符号(类)数字与数值(类)数字之间的差异。符号(类)数字与数值(类)数字之间的差异。a=pi+sqrt(5)sa=sym(pi+sqrt(5)Ca=class(a)Csa=class(sa)vpa(sa-a) a = 5.3777sa = pi + 5(1/2)Ca = doubleCsa = symans =0.00000000000000001382237584108520004859354256418 本本例例表表现现符符号号数数字字总总是是被被准准确确记记录录和和运运算算,而而数数值值数数字字并并不不总能保证被准确存储,运算时会引进截断误差。总能保证被准确存储,运算时会引进截断误差。3. 基本符号变量:基本符号变量:定义格式:定义格式:i) syms para para=sym(para) syms a; a=sym(a)ii) syms para flag para=sym(para, flag) syms a positive; a=sym(a, positive)flag为参数属性:为参数属性:positive-参数取正实数参数取正实数real-参数为实数参数为实数unreal-参数为限定的复数参数为限定的复数iii) syms a b c syms a b c flag无逗号无逗号符号参数符号参数(表达式中的参数)(表达式中的参数), “待解符号变量待解符号变量”或或“自由符号变量自由符号变量” (表达式中的自变量(表达式中的自变量x,默认为默认为x)4. 自由符号变量自由符号变量symvar(expression) 列出表达式中所有基本符号变量列出表达式中所有基本符号变量symvar(expression,n) 列出表达式中认定列出表达式中认定n个自由符号变量个自由符号变量expression是符号表达式或符号表达式矩阵,是符号表达式或符号表达式矩阵,x是是首选自由符号变量,认定优先次序为首选自由符号变量,认定优先次序为x, y, w, z, v等等u解题结果是解题结果是“用符号参数构成的表达式表述自由符号用符号参数构成的表达式表述自由符号变量变量”。解题时自由符号变量可。解题时自由符号变量可“人为指定人为指定”,也可也可“默认地自动认定默认地自动认定”:与小写字母与小写字母 x 的的ASII码距离最码距离最小的变量。小的变量。syms u v w z a5f=sym(3);Eq=sin(f)*u*z2+v*z+f*w-a5;u【例例2.1-2】 用符号计算研究方程用符号计算研究方程 的解的解。symvar(Eq) %按字母表顺序列出基本符号变量按字母表顺序列出基本符号变量, 无无 fans = a5, u, v, w, z symvar(Eq,100) %按离按离x的距离列出所有自由符号变量的距离列出所有自由符号变量ans = w, z, v, u, a5result_1=solve(Eq) result_1 =a5/3 - (v*z)/3 - (u*sin(3)*z2)/3 result_2=solve(Eq,z)result_2 = -(v - (v2 + 4*a5*u*sin(3) - 12*u*w*sin(3)(1/2)/(2*u*sin(3) -(v + (v2 + 4*a5*u*sin(3) - 12*u*w*sin(3)(1/2)/(2*u*sin(3)syms a b x X Yk=sym(3);z=sym(c*sqrt(d)+y*sin(t);EXPR=a*z*X+(b*x2+k)*Y;u【例例2.1-3】元符号表达式、衍生符号表达式定义,基元符号表达式、衍生符号表达式定义,基本符号变量、自由符号变量的机器认定。本符号变量、自由符号变量的机器认定。E3=sym(a*sqrt(theta) ? Error using = sym.sym convertExpression at 2515 E4=sym(a*sqrt(theta1)E5=sym(a*sqrt(theta*t) %在在R2009b版本中还正确版本中还正确? Error using = sym.sym convertExpression at 2515symvar(EXPR)ans = X, Y, a, b, c, d, t, x, y 无无 k zsymvar(EXPR,10) ans = x, y, t, d, c, b, a, X, Y 4. 自由符号变量自由符号变量syms a b t u v x yA=a+b*x, sin(t)+u; x*exp(-t), log(y)+vsymvar(A,1) A = a + b*x, u + sin(t) x/exp(t), v + log(y)ans = x u【例例2.1-4】symvar确定自由变量是对整个矩阵进行的。确定自由变量是对整个矩阵进行的。 2.1.2 符号计算中的算符符号计算中的算符u由于新版由于新版matlab采用了重载采用了重载(Overload)技术技术, 使得使得用来构成符号计算表达式的算符和基本函数用来构成符号计算表达式的算符和基本函数,无论在形无论在形式式,名称名称,还是使用方法上还是使用方法上,都与数值计算中的算符和基都与数值计算中的算符和基本函数几乎完全相同本函数几乎完全相同,这给编程带来极大的方便这给编程带来极大的方便.(1) 基本运算符基本运算符算符算符 ”+”, ”-”, ”*”, ”, “/”,“” 分别构成矩阵的加分别构成矩阵的加, 减减, 乘乘,左除左除,右除右除,求幂运算求幂运算. 算符算符 ”.*”, “./”, “.”, “.” 分别实现元素对元素的数组乘分别实现元素对元素的数组乘,除除,求幂运算求幂运算.算符算符” ”, “ . ” 分别实现矩阵的共轭转置分别实现矩阵的共轭转置,非共轭转置非共轭转置2.1.2 符号计算中的算符符号计算中的算符(2) 关系运算符关系运算符在符号对象的比较中在符号对象的比较中,没有大于没有大于,大于等于大于等于,小于小于,小于等小于等于的概念于的概念,而而只有是否等于的概念只有是否等于的概念。 ”=“ “=“分别分别用来对算符两边的对象进行相等和不等的比较用来对算符两边的对象进行相等和不等的比较,返回为返回为逻辑量。事实为真时,比较结果为逻辑量。事实为真时,比较结果为1,事实为假时,事实为假时,结果为结果为0.2.1.3 符号计算中的函数指令符号计算中的函数指令符号计算中的函数分成三个层次:符号计算中的函数分成三个层次:1.与数值类函数和指令对应的同名符号类函数和指令。与数值类函数和指令对应的同名符号类函数和指令。2.约约50个经典特殊函数(误差函数个经典特殊函数(误差函数erf、贝塞尔函数、贝塞
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号