第3章 符号运算_第1页
第3章 符号运算_第2页
第3章 符号运算_第3页
第3章 符号运算_第4页
第3章 符号运算_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章符号运算,科学计算可分为两类:一类是纯数值计算,如求函数值,方程的数值解等;另一类计算是符号运算,也称代数运算,是一种智能计算,处理符号。我们在数学教学和研究中的大多数数学运算都是符号运算。MATLAB中的符号数学工具箱集成了丰富的符号运算功能。基本符号数学工具箱包含100多个MATLAB函数,包括微积分、线性代数、简化代数表达式、方程求解、特殊数学函数、变精度算法等。教学内容,符号变量、符号表达式和符号方程的生成符号表达式的基本运算符号矩阵和符号数组的生成和运算用图形符号函数计算器的方法求解符号微分、导数和积分符号代数方程,学习目标掌握符号变量和符号表达式的定义和基本运算。掌握符号矩阵

2、的生成和计算方法。掌握符号演算的运算方法。掌握符号方程的求解方法。了解符号函数计算器的使用,3.1符号变量、符号表达式和符号方程的生成,符号数学工具箱定义了一种新的MATLAB数据类型:符号对象,其类型名标记为“sym”。符号对象中存储的内容是字符串,用于表示符号变量、符号表达式、矩阵等。生成符号变量和符号表达式的函数是符号和符号。3.1.1使用符号函数生成符号变量和符号表达式,可以生成单个符号值、符号变量和符号表达式。格式为:S=符号(A),如果是字符串,则返回的结果是符号变量或符号值;如果是数字或矩阵,则返回的结果是参数的符号表示。X=sym(x),创建一个符号变量,其内容为X并表示为X.

3、X=sym(x,实数),指定符号变量x是一个实数。X=sym(x,不真实),将x指定为没有其他属性的纯变量。示例3-1使用sym函数创建符号变量和符号表达式。分别输入以下语句:x=sym(x)y=sym(hello)z=sym(1 sqrt(5)/2)f=sym(a * x2b * xc)f-a,返回的结果是:x=x y=hello z=(1sqrt (5)/2 f=?未定义的函数或变量a。在本例中,虽然符号表达式a*x2 b*x c已成功创建并分配给变量f,但符号变量a未定义,因此系统无法执行f-a操作并给出错误消息。3.1.2符号变量和符号表达式是使用syms函数定义的,syms函数可以一

4、次创建多个符号变量,调用格式为:syms var1,var2,var3.变量名之间的间隔也可以是空格。示例3-2使用syms函数定义符号变量和符号表达式。输入以下语句:符号a b c x f=a*x2 b*x c f-a返回的结果是:f=a*x2 b*x c ans=a*x2 b*x c-a与示例3-1相比,本示例中的f-a操作是成功的。3.1.3符号方程的生成方程和函数的区别在于函数是由数字和变量组成的代数表达式,而方程是包含函数的方程。在MATLAB中,生成符号方程的方法类似于用符号函数生成符号表达式的方法。示例3-3生成符号方程,其中sym: a*x2 b*x c=0。e1=符号(a*x

5、2 b*x c=0)结果是:e1=a*x2 b*x c=0,3.2符号变量的基本运算。findsym函数用于计算符号变量符号运算的精度,确定数值变量和符号变量之间的转换形式。findsym可以自动识别表达式中的所有自由变量或指定数量的独立变量。格式如下:查找表达式中的所有符号变量;Findsym(S,n)从表达式S中找到与字母X最接近的n个符号变量。如果在S中有两个符号变量与X的距离相同,则首选具有较大ASCII码的符号变量。常数pi、I和j不被认为是符号变量。3.2.1 Findsym函数:查找符号变量,示例3-4创建符号变量a、b、n、x和t,建立函数f=axn bt,然后查找默认独立变量

6、f。输入以下语句:符号a b n t x f=a * xnb * t findsym (f,1) findsym (f,5)%找出5个默认独立变量findsym(f)%找出表达式f中所有按最接近的字母顺序排列的符号变量。返回的结果如下:f=a * xnb * t ans=x ans=x,t,n,b,a ans=a,b,n,t,x,3.2。(1)位数功能用于指定运算精度,如位数(20);该声明规定运算精度为20位有效数字。(2)vpa函数:每当需要控制精度时,vpa函数用于运算表达式。示例3-5控制运算精度为5个有效数字:数字(5)a=VPA (sqrt (2)a=1.4142 b=sqrt(2

7、)b=1.41421356237309504801687242097 VPA函数控制运算表达式的每一步。此外,也可以使用a=VPA(sqrt(2),5)的格式,无需预先用数字设置运算精度,a的值仍为1数值变量和符号变量之间的转换,例3-6将数值变量转换为符号变量t=0.1 t=0.1000 SYM (t) R)%有理数形式ans=1/10符号(t,f)%浮点数形式ans=1.9999999999 a * 2(-4),3.3符号表达式的基本运算,符号表达式的四种运算结合了符号表达式的相似项,符号多项式的因式分解,以及符号表达式的展开。有理表达式的分子和分母的子函数用来代替求反函数的运算,以及3.

8、3.1的四个运算。像普通的算术表达式一样,符号表达式可以加、减、乘和除。示例3-7以下语句被输入到符号表达式的四个运算中:syms x y a b fun 1=sin(x)cos(y)fun 2=a b fun 3=fun 1 * fun 2。转换结果为:fun 1=sin(x)cos(y)fun 2=a b fun 3=(sin(x)。syms x y collect(x2 * y y * x-x2-2 * x)ans=(y-1)* x2(y-2)* x f=-1/4 * x * exp(-2 * x)3/16 * exp(-2 * x);收集(f)%.ans=-1/4 * x * exp(

9、-2 * x)3/16 * exp(-2 * x),3.3.3符号多项式的因式分解,示例3-9表达式f=a3-1的因式分解。输入:f=符号(a3-1)。因子(f)的结果是:ans=(a-1)*(a2 a 1),3.3.4简化符号表达式,例3-10用简化函数简化符号表达式。输入:f=sym(sin(x)2 cos(x)2)。s=sym(exp(c * log(sqrt(a(b);由简化(f)简化(S)返回的结果是:ans=1 ans=(a b)(1/2*c),3.3.5符号表达式的扩展,调用格式:扩展(f)示例3-11扩展表达式f=(x 1)5和f=%创建符号表达式并将其分配给f扩展(f)%扩展

10、符号表达式f=sin(x y);通过展开(f)返回的结果是:ans=X5 5 * X4 10 * X3 10 * X25 * X1ans=sin(x)* cos(y)cos(x)* sin(y),3.3.6提取有理表达式的分子和分母(numden),如果符号表达式是有理分式或可以展开为。一般调用格式是:n,d=numden(S)。这个函数提取符号表达式s的分子和分母,并将它们分别存储在n和d中。示例3-12找出有理公式f=x/y y/x的分子和分母。输入:符号x y f=x/y y y/x;n,d=n mden(f)返回的结果是:n=x2 y2 d=y*x,3.3.7符号表达式替换(subs)

11、。调用格式是:R=subs(S,旧的,新的)示例3-13subs函数用于替换求值操作。syms x y f=x2 * y5 * x * sqrt(y)f=x2 * y5 * x * y(1/2)subs(f,x,3) ans=9 * y15 * y (1/2) subs (f,y,3) ans=3 *格式为:finverse(f,v),返回独立变量为v的符号函数f的反函数。如果省略v,则获得的反函数独立变量与原始函数相同。示例3-14使用finverse求解反函数syms x y finverse(1/tan(x)%,自变量为x ans=atan(1/x)f=x2 y;Finverse(f,y

12、)%g=sin(y);h=xtp=exp(-y/u);合成(f,g) ans=1/(1sin (y) 2)合成(f,g,t) ans=1/(1sin (t) 2),3.4符号矩阵的生成和运算,3.4.1符号矩阵的生成在MATLAB中,符号矩阵的生成类似于数值矩阵的相关运算。创建符号矩阵有几种方法:(1)用符号命令直接创建符号矩阵;(2)通过类似于创建普通数字矩阵的方法来创建符号矩阵;(3)从数值矩阵转换为符号矩阵。符号矩阵的输出格式与数字矩阵不同,每行标有“.”。1.使用符号命令直接创建符号矩阵。sym命令的使用类似于之前创建符号表达式和等式的使用。创建的符号矩阵的元素可以是任何符号对象,并且

13、元素的长度允许不同。在输入格式中,“;”用于矩阵行之间的分区,其中矩阵元素由“,”或空格分隔。示例3-15使用符号函数创建符号矩阵。a=符号(a,b;c,d) A=a,b c,d B=sym(x 3*y,5 * z 6 * x;Y-x,z/y) B=x 3*y,5*z 6*x y-x,z/y,2。在使用数字矩阵生成方法(即使用syms函数)创建符号矩阵之前,有必要预先定义所有必要的符号变量。示例3-16通过生成数字矩阵来创建符号矩阵符号x y z B=x 3*x,5 * z 6 * zY-y,z/z B=4*x,11*z 0,1,3。从数值矩阵到符号矩阵,由于数值对象和符号对象属于两种不同的数

14、据类型,它们不能直接操作,但可以相互转换。当数字对象M被转换成符号对象S时,符号函数可以以S=符号(M)的格式应用。示例3-17使用符号函数将三阶希尔伯特矩阵(对称正定矩阵)转换为符号矩阵。h=hilb(3)h=1.0000 0.5000 0.3333 0.5000 0.3333 0.2500 0.3333 0.2500 0.2000 h1=sym(h)h1=1,1/2,1/3 1/2,1/3,1/4 1,3.4.2符号矩阵的运算,符号矩阵的基本代数运算包括矩阵运算、指数运算、换位运算等四种运算。这些运算与数值矩阵的运算相同,所以这里只举一个例子来介绍它的用法。示例3-18符号矩阵的基本操作。syms t R=cos(t),sin(t);-sin (t),cos (t) r=cos (t),sin (t)-sin (t),cos (t)R %符号矩阵的转置r ans=cos(t),-sin(t) sin(t),cos(t),D=det(R)%求矩阵R D=cos (t) 2sin (t) 2的行列式值简化(D)ans=1a=R * ra=cos(t)2 sin(t)2,00,cos(t)2 sin(t)2简化(a 3.5其格式如下:极限(F,x,a)计算xa条件下符号表达

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论