MATLAB7.0使用详解-第14篇 符号计算.pptVIP

  • 4
  • 0
  • 约3.39千字
  • 约 29页
  • 2017-06-07 发布于湖北
  • 举报
第14章 符号计算 同一般的数值计算不同,MATLAB的符号计算是对字符串进行符号分析和运算。在进行符号计算时,MATLAB负责将计算请求提交给其内置的MAPLE组件,并返回MAPLE的计算结果。 MATLAB的符号计算历经多次的改进和完善,其功能已经非常强大。本章介绍的内容包括符合表达式、符号表达式的复合和化简、符号矩阵的运算、符号微积分、符号代数方程求解、符号微分方程解等。 14.1 符号对象和一般数值类型比较 符号对象(Symbolic Objet)是MATLAB符号工具箱中定义的一种新的数据类型。一般的MATLAB数值类型,如logical、int、float、double等,都是简单的数据类型,而符号对象是一种保存了符号字符串表示的复杂数据结构。例如,对double型数值2求自然对数。 log(2) ans = 0.6931 返回结果为double型数值。下面首先将double型数值2转换成符号类型,再求其自然对数。 log(sym(2)) ans = log(2) 14.2 符号对象的创建 MATLAB符号工具箱定义的数据类型——符号对象(Symbolic Object),是一种存储了符号的字符串表示的复杂数据结构。MATLAB利用符号对象表示符号变量、符号表达式、符号函数、符号矩阵。本节介绍符号变量、符号表达式和符号函数的创建,至于符号矩阵,将在第14.4节进行详细介绍。 14.2.1 创建符号变量 14.2.2 创建符号表达式 14.2.3 符号函数 14.3 符号对象的转换 本节介绍符号表达式的显示、符号表达式的各种表达形式及其相互转换、符号常量与一般数值类型的相互转换、符号表达式的替换。本节中的符号表达式是广义的符号表达式,包括了符号变量和符号常量。 14.3.1 符号表达式的显示 在显示符号表达式时,默认的方式是MATLAB式的显示,例如, f = a*x^2 + b*x + c f = a*x^2+b*x+c 另外,MATLAB符号工具箱中的函数pretty,允许用户将符号表达式显示为符合一般数学表达习惯的数学表达式,对上述的f,其pretty显示为 pretty(f) 2 a x + b x + c 14.3.2 符号表达式间的相互转换 对数学表达式的展开、化简、因式分解等是在数学学习和应用中经常要做的工作,MATLAB符号工具箱同样也具备这些功能。MATLAB符号工具箱为符号表达式的展开、化简等提供了强大的支持,下面列出了一些相关的函数及其使用方法。 函数collect的调用格式为 collect(f, s) collect(f) 函数expand对符号表达式进行展开,调用格式为 R = expand(S) 函数factor对符号表达式进行因式分解,调用格式为 R = factor(X) 函数simple和simplify都用于对符号表达式进行化简,但simple函数会尝试多种方法,直到找到认为“最简”的表达式。 函数numden将有理分式形式的符号表达式表示为简单分式之和。 14.3.3 符号表达式的替换 符号表达式的替换有两种,一是利用符号变量或符号表达式替换目标符号表达式中的符号变量(包括符号常量),利用函数subs实现;二是用符号变量替代目标符号表达式中的某个子符号表达式,利用函数subexpr实现。函数subs的一般调用格式为: R = subs(S) R = subs(S, new) R = subs(S,old,new) R = subs(S)替换S中与调用函数空间或基本工作空间同名的符号变量。 14.3.4 符号常量与数值类型的转换 在符号常量与数值类型的相互转换中,数值向符号常量的转换即是符号常量的创建,由函数sym实现,如有疑问请参考第14.2.1节。这里主要介绍符号常量向数值类型的转换。 MATLAB中的函数vpa用于符号常量向一般数值类型的转换,vpa的调用格式为 v = vpa(s, d)或v = vpa(s) 其中,s为符号常量,d为转换结果v的小数位个数,未设定时,d是函数digits(关于digits的使用,不是本节所要讨论的内容,如有疑问请参考帮助)设定的值。 14.4 符号矩阵 符号矩阵是数值矩阵的扩展,符号矩阵的每个元素都是符号表达式。同一般的数值矩阵一样,符号矩阵也有四则运算,可以求符号矩阵的奇异值,对符号进行奇异值分解。对于符号方阵,有符号矩阵的行列式、特征值,符号方阵可逆时,还可以求符号方阵的逆。本节涉及到的符号矩阵运算大多与数值矩阵相同,读者在学习本节内容时可以参考第5章的内容。 14.

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档