CH符号运算.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CH符号运算.doc

第二章 符 号 运 算 (参《数学建模基础教程》第5章) MATLAB自产生之日起就在数值计算应用方面独占鳌头。但仍有缺少符号运算的缺陷,1993年MathWorks公司从加拿大滑铁卢大学购入了Maple函数库的使用权,在此基础上开发了MATLAB自己的符号计算工具箱(Symbolic Toolbox),且保留了与Maple的接口。从此,MATLAB便集数值计算、符号计算和图形可视化三大基本功能于一体,成为在数值计算领域中功能强大、操作简单、最受用户喜爱的语言。 在MATLAB中实现符号计算功能主要有以下3种途径: (1)通过调用MATLAB自己开发的各种功能函数进行常用符号运算。这些功能主要包括符号矩阵的基本操作、符号矩阵的运算、符号微积分运算、符号线性方程求解、符号微分方程求解、特殊数学符号函数、符号函数图形等,这些内容将在本章中作详细的介绍。对于众多喜爱和熟悉MATLAB的用户来说,这些操作十分简单,很容易学习和掌握。 (2)MATLAB语言中的符号计算功能已径很强大了,但为了一些特殊专业人员提供方便,MATLAB中还保留着与Maple的接口,以实现更多功能。在应用过程中需了解一些Maple的操作语法。本章中将对此作简单介绍。 (3)对那些习惯了计算器的人来说,MATLAB同样是最佳的选择,因为MATLAB还提供了符号运算计算器(Function calculator)功能。 §2.1 符号表达式的生成 MATLAB将数值计算中的变量认为是被赋值的数值变量,将符号运算中数字也视为符号。 符号表达式包括符号函数和符号方程,两者的区别是:前者不包括等号,而后者必须带有符号。但这两者的创建方式是相同的,并且和MATLAB中的字符串变量的生成方法相同。 创建符号函数 f=log(x) f = log(x) (2)创建符号方程 eqation=a*x^2+b*x+c=0 eqation = a*x^2+b*x+c=0 (3)创建符号微分方程 diffeq=Dy-y=x diffeq = Dy-y=x 由此种方法创建的符号表达式对空格是很敏感的。因此不要在字符间乱加空格符, 否则在其他地方调用此表达式的时候会出错。由于符号表达式在MATLAB中被看成是非1阶的符号矩阵,因此它也可用sym命令来创建。如: f=sym(sin(x)) f = sin(x) f=sym(sin(x)^2=0) f = sin(x)^2=0 另外一种创建符号函数的方法是用syms命令来创建。如: syms x % 此法不能用来创建符号方程 f=sin(x)+cos(x) f = sin(x)+cos(x) §2.2 符号矩阵的生成 在MATLAB中创建符号矩阵的方法和创建数值矩阵的形式很相似,只不过要用到符号定义函数sym, 下面介绍使用此函数创建符号函数的几种形式。 2.2.1 使用sym函数直接创建符号矩阵 a=sym([1/s+x, sin(x), cos(x)^2/(b+x); 9, exp(x^2+y^2), log(tanh(y))]) % 注意’的使用及位置 a = [ 1/s+x, sin(x), cos(x)^2/(b+x)] [ 9, exp(x^2+y^2), log(tanh(y))] 2.2.2 用创建子阵的方法创建符号矩阵 这种创建方式需用逗号将同行各元素分隔,列元素对不齐时要用空格调整。 a=[[1/s+x sin(x) cos(x)^2/(b+x)];[9 exp(x^2+y^2) log(tanh(y))]] a = [1/s+x sin(x) cos(x)^2/(b+x)] [9 exp(x^2+y^2) log(tanh(y))] a=[[1/s+x, sin(x), cos(x)^2/(b+x)];[9, exp(x^2+y^2), log(tanh(y))]] a = [1/s+x, sin(x), cos(x)^2/(b+x)] [9, exp(x^2+y^2), log(tanh(y))] b=[a;[exp(-1), 3, x^3+y^9]] % ?报错 2.2.3 将数值矩阵转化为符号矩阵 在MATLAB中,数值矩阵不能直接参与符号计算,必须先转化为符号矩阵。注意不论数值矩阵的元素原先是用分数还是用浮点数表示的,转化后的符号矩阵都将以最接近的精确有理数给出。如: a=[2/3,sqrt(2),0.222;1.4,1/0.23,log(3)] a = 0.

文档评论(0)

000 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档