变量-中国石油大学北京.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
变量-中国石油大学北京

第9章 MATLAB符号计算 9.1 符号对象 9.2 符号微积分 9.3 级 数 9.4 符号方程求解 9.1 符号对象 9.1.1 建立符号对象 1.建立符号变量和符号常量 MATLAB提供了两个建立符号对象的函数:sym和syms,两个函数的用法不同。 (1) sym函数 sym函数用来建立单个符号量,一般调用格式为: 符号量名=sym(符号字符串) 该函数可以建立一个符号量,符号字符串可以是常量、变量、函数或表达式。 应用sym函数还可以定义符号常量,使用符号常量进行代数运算时和数值常量进行的运算不同。下面的命令用于比较符号常量与数值常量在代数运算时的差别。 sqrt(2) ans = 1.4142 s = sqrt(sym(2)) x = 2^(1/2) sym(4)/sym(5) + sym(2)/sym(3) ans = 22/15 (2) syms函数 函数sym一次只能定义一个符号变量,使用不方便。MATLAB提供了另一个函数syms,一次可以定义多个符号变量。syms函数的一般调用格式为: syms 符号变量名1 符号变量名2 … 符号变量名n 用这种格式定义符号变量时不要在变量名上加字符串分界符(‘),变量间用空格而不要用逗号分隔。 2.建立符号表达式 含有符号对象的表达式称为符号表达式。建立符号表达式有以下3种方法: (1)利用单引号来生成符号表达式。 (2)用sym函数建立符号表达式。 (3) 使用已经定义的符号变量组成符号表达式。 例9-1 用sym函数生成符号表达式 aex+bsin(x) 1) a = sym(a); b = sym(b); x = sym(x); e = sym(e); f = a*e^x+b*sin(x) 2) f = sym(a*e^x+b*sin(x)) 9.1.2 符号表达式运算 1.符号表达式的提取分子和分母运算 如果符号表达式是一个有理分式或可以展开为有理分式,可利用numden函数来提取符号表达式中的分子或分母。其一般调用格式为: [n,d]=numden(s) 该函数提取符号表达式s的分子和分母,分别将它们存放在n与d中。 2.符号表达式的因式分解与展开 MATLAB提供了符号表达式的因式分解与展开的函数,函数的调用格式为: factor(s):对符号表达式s分解因式。 expand(s):对符号表达式s进行展开。 collect(s):对符号表达式s合并同类项。 collect(s,v):对符号表达式s按变量v合并同类项。 例9-2 用函数collect合并同类项 syms x f = -1/4*x*exp(-2*x)+3/16*exp(-2*x) collect(f,exp(-2*x)) f = -1/4*x*exp(-2*x)+3/16*exp(-2*x) ans = (-1/4*x+3/16)*exp(-2*x) 3.符号表达式的化简 MATLAB提供的对符号表达式化简的函数有: simplify(s):应用函数规则对s进行化简。 simple(s):调用MATLAB的其他函数对表达式进行综合化简,并显示化简过程。 simplify(sin(x)^2+cos(x)^2) ans = 1 4.符号表达式与数值表达式之间的转换 利用函数sym可以将数值表达式变换成它的符号表达式。 函数numeric或eval可以将符号表达式变换成数值表达式。 x = sym(0.33333333333333333333333333) eval(x) 9.1.3 符号表达式中变量的确定 MATLAB中的符号可以表示符号变量和符号常量。findsym可以帮助用户查找一个符号表达式中的的符号变量。该函数的调用格式为: findsym(s,n) 函数返回符号表达式s中的n个符号变量,若没有指定n,则返回s中的全部符号变量。 9.1.4 符号矩阵 符号矩阵也是一种符号表达式,所以前面介绍的符号表达式运算都可以在矩阵意义下进行。但应注意这些函数作用于符号矩阵时,是分别作用于矩阵的每一个元素。 由于符号矩阵是一个矩阵,所以符号矩阵还能进行有关矩阵的运算。MATLAB还有一些专用于符号矩阵的函数,这些函数作用于单个的数据无意义。例如 transpose(s):返回s矩阵的转置矩阵。 determ(s):返回s矩阵的行列式值。 其实,曾介绍过的许多应用于数值矩阵的函数,如diag、triu、tril、inv、det、rank、eig等,也可直接应用于符号矩阵。 9.2 符号微积分 9.2.

文档评论(0)

ailuojue + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档