人工智能第3章

上传人:ji****n 文档编号:54757414 上传时间:2018-09-18 格式:PPT 页数:24 大小:151KB
返回 下载 相关 举报
人工智能第3章_第1页
第1页 / 共24页
人工智能第3章_第2页
第2页 / 共24页
人工智能第3章_第3页
第3页 / 共24页
人工智能第3章_第4页
第4页 / 共24页
人工智能第3章_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《人工智能第3章》由会员分享,可在线阅读,更多相关《人工智能第3章(24页珍藏版)》请在金锄头文库上搜索。

1、第3章 符号计算 p47,MATLAB 7.X程序设计,2/44,3.1符号表达式的定义,1.概述 y=f(x) y=x2+b 等等都是符号表达式。为了和数学习惯一致,这里用符号变量来表示 x,y等自变量和因变量以及符号表达式等。 默认的符号自变量 x,x1,y,y1,z,v,u,t等, 优先级xx1yy1zvut 即cos(2*x*a2)默认自变量是x,a为常数 sin(t*u)默认自变量是u,t为常数,MATLAB 7.X程序设计,3/44,符号计算的特点: 1)符号计算定义在符号变量的基础上,符号表达式计算前必须定义符号变量。 2)符号计算是精确计算。 3)符号计算的计算速度较慢。 4)

2、符号计算的运算符和基本数学函数与数值计算中的运算符和基本数学函数几乎完全相同。,MATLAB 7.X程序设计,4/44,2.创建符号常量和变量,1建立符号变量和符号常量 MATLAB提供了两个建立符号对象的函数:sym和syms,两个函数的用法不同。 (1) sym函数 sym函数用来建立单个符号量,一般调用格式为: 符号量名=sym(符号字符串) 该函数可以建立一个符号变量,符号字符串可以是常量、变量、函数或表达式。,MATLAB 7.X程序设计,5/44,例 f1=a*x2+b*x+c=0 f1 = a*x2+b*x+c=0 f2=sym(a*x2+b*x+c=0) f2 = a*x2+b

3、*x+c=0 whosName Size Bytes Classf1 1x13 26 char arrayf2 1x1 150 sym object,MATLAB 7.X程序设计,6/44,(2) syms函数 函数sym一次只能定义一个符号变量,使用不方便。MATLAB提供了另一个函数syms,一次可以定义多个符号变量。syms函数的一般调用格式为: syms 符号变量名1 符号变量名2 符号变量名n 用这种格式定义符号变量时不要在变量名上加字符串分界符(),变量间用空格而不要用逗号分隔。 syms(str1,str2,)symvar检查符号函数中的自变量,MATLAB 7.X程序设计,7/

4、44,3.2符号矩阵的运算p49,1.符号矩阵的简单计算 +,-,*,/,./,.,.,.表3-1 注意: A,A为复数时,为共轭矩阵 conj(x)求x的共轭 A . 是真正的矩阵共轭 p50例1,MATLAB 7.X程序设计,8/44,2.符号矩阵的一般运算 det 行列式 inv 逆矩阵 rank 矩阵的秩 diag 矩阵的对角线元素 eig 矩阵的特征值,MATLAB 7.X程序设计,9/44,3.3符号表达式运算,1.符号表达式的基本运算 collect(s):对符号表达式s合并同类项。 collect(s,v):对符号表达式s按变量v合并同类项。 expand(s):对符号表达式s

5、进行展开。 factor(s):对符号表达式s分解因式。 n,d=numden(s):提取符号表达式s的分子和分母,分别将它们存放在n与d中。,MATLAB 7.X程序设计,10/44,simplify(s):应用函数规则对s进行化简。 simple(s):调用MATLAB的其他函数对表达式进行综合化简,并显示化简过程。 size(A)求符号矩阵的维数,MATLAB 7.X程序设计,11/44,P59 2.符号表达式的转化与符号标量的操作,Pretty(S)求符号表达式的常规形式 findsym可以帮助用户查找一个符号表达式中的的符号变量。该函数的调用格式为: findsym(s,n) 函数返

6、回符号表达式s中的n个符号变量,若没有指定n,则返回s中的全部符号变量。,MATLAB 7.X程序设计,12/44,R=subs(S,old,new) 用新的符号变量new 替换原来符号表达式S中的变量old, 注意:当new是数值形式时,显示的结果是数值 补充: digits(n) 功能:设定计算精度和改变默认的有效位数函数。 其中n为所期望的有效位数,默认值为32位。 Vpa 的格式为: S=vpa(s,n) 功能:将s表示为n位有效位数的符号对象。,MATLAB 7.X程序设计,13/44,a=sym(2*sqrt(5)+pi) %创建符号对象 digits %显示默认的有效位数 vpa

7、(a) %用默认的位数计算并显示 vpa(a,15) %按指定的精度计算并显示 digits(15) %改变默认的有效位数 vpa(a) %按digits指定的精度计算并显示,MATLAB 7.X程序设计,14/44,P61 3.符号计算函数,B=conj(A) 求符号复数A的共轭复数 R=real(Z) 求符号复数Z的实部 I=imag(Z) 求符号复数Z的虚部 compose(f,g) 求复合函数f(g(x) g=finverse(f) 求符号函数的反函数g,MATLAB 7.X程序设计,15/44,p62 4.符号特征多项式的运算,和数值矩阵类似,MATLAB 7.X程序设计,16/44

8、,3.4 符号微积分,1.符号极限 limit函数的调用格式为: (1) limit(f,x,a):求符号函数f(x)的极限值。即计算当变量x趋近于常数a时,f(x)函数的极限值。 (2) limit(f,a):求符号函数f(x)的极限值。由于没有指定符号函数f(x)的自变量,则使用该格式时,符号函数f(x)的变量默认自变量,即变量x趋近于a。,MATLAB 7.X程序设计,17/44,(3) limit(f):求符号函数f(x)的极限值。符号函数f(x)的变量默认变量;没有指定变量的目标值时,系统默认变量趋近于0,即a=0的情况。 (4) limit(f,x,a,right):求符号函数f的

9、极限值。right表示变量x从右边趋近于a。 (5) limit(f,x,a,left):求符号函数f的极限值。left表示变量x从左边趋近于a。 例1 、2、3,MATLAB 7.X程序设计,18/44,极限3: syms x; f=x*(sqrt(x2+1)-x); limit(f,x,inf,left) ans = 1/2 极限4: syms x; f=(sqrt(x)-sqrt(2)-sqrt(x-2)/sqrt(x*x-4); limit(f,x,2,right) ans = -1/2,MATLAB 7.X程序设计,19/44,极限1: syms a m x; f=(x*(exp(s

10、in(x)+1)-2*(exp(tan(x)-1)/(x+a); limit(f,x,a) ans = (1/2*a*exp(sin(a)+1/2*a-exp(tan(a)+1)/a 极限2: syms x t; limit(1+2*t/x)(3*x),x,inf) ans = exp(6*t),MATLAB 7.X程序设计,20/44,2.符号导数 diff函数用于对符号表达式求导数。该函数的一般调用格式为: diff(s):没有指定变量和导数阶数,则系统按默认变量对符号表达式s求一阶导数。 diff(s,v):以v为自变量,对符号表达式s求一阶导数。 diff(s,n):按默认变量对符号表

11、达式s求n阶导数,n为正整数。 diff(s,v,n):以v为自变量,对符号表达式s求n阶导数。 例 求下列函数的导数。xx,1/x, x3+1/y,MATLAB 7.X程序设计,21/44,3. 符号积分 符号积分由函数int来实现。该函数的一般调用格式为: int(s):没有指定积分变量和积分阶数时,系统按默认变量对被积函数或符号表达式s求不定积分。 int(s,v):以v为自变量,对被积函数或符号表达式s求不定积分。 int(s,v,a,b):求定积分运算。a,b分别表示定积分的下限和上限。该函数求被积函数在区间a,b上的定积分。a和b可以是两个具体的数,也可以是一个符号表达式,还可以是

12、无穷(inf)。当函数f关于变量x在闭区间a,b上可积时,函数返回一个定积分结果。当a,b中有一个是inf时,函数返回一个广义积分。当a,b中有一个符号表达式时,函数返回一个符号函数。,MATLAB 7.X程序设计,22/44,4.级 数 级数符号求和 求无穷级数的和需要符号表达式求和函数symsum,其调用格式为: symsum(s,v,n,m) 其中s表示一个级数的通项,是一个符号表达式。v是求和变量,v省略时使用系统的默认变量。n和m是求和的开始项和末项。,MATLAB 7.X程序设计,23/44,函数的泰勒级数 MATLAB提供了taylor函数将函数展开为幂级数,其调用格式为: ta

13、ylor(f,n,v,a) 该函数将函数f按变量v展开为泰勒级数,展开到第n项(即变量v的n-1次幂)为止,n的缺省值为6。v的缺省值与diff函数相同。参数a指定将函数f在自变量v=a处展开,a的缺省值是0。,MATLAB 7.X程序设计,24/44,3.5 符号方程求解 p71,符号代数方程求解 在MATLAB中,求解用符号表达式表示的代数方程可由函数solve实现,其调用格式为: solve(s):求解符号表达式s的代数方程,求解变量为默认变量。 solve(s,v):求解符号表达式s的代数方程,求解变量为v。 solve(s1,s2,sn,v1,v2,vn):求解符号表达式s1,s2,sn组成的代数方程组,求解变量分别v1,v2,vn。,

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

当前位置:首页 > 生活休闲 > 社会民生

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