第11章__ Matlab 7.0 符号计算

更新时间:2023-05-30 08:39:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Matlab 7.0 符号计算

技术凝聚实力 专业创新出版

第11章 符号计算与一般的数值计算不同,符号计算是对字符串符号进行分析和运算,为了 便于理解,读者可以将符号计算看作“由计算机实现的数学公式推导”。 进行符号计算时,MATLAB负责将计算请求提交给其内置的MAPLE组件并返 回MAPLE的计算结果。MATLAB的符号计算历经多次的改进和完善,其功能 已经非常强大,尤其是在大规模的简单公式推导、逻辑推导等应用中有重 要应用。本章介绍的内容如下。 符合对象的创建 符号对象的复合和化简 符号矩阵 符号微积分 符号方程求解 符号函数 符号对象的运算

Matlab 7.0 符号计算

技术凝聚实力 专业创新出版

11.1 符号类型与数值类型符号对象(Symbolic Objet)是MATLAB符号工 具箱中定义的一种新的数据类型。与一般的简 单数值类型(如logical、int、float、double 等)不同,符号对象是一种保存了符号字符串 表示的复杂数据结构。本节主要讨论符号类型 与普通数值类型的差别。

Matlab 7.0 符号计算

技术凝聚实力 专业创新出版

11.2 符号对象及其创建MATLAB符号工具箱定义的数据类型——符号对 象(Symbolic Object),是一种存储了符号字 符串表示的复杂数据结构。MATLAB利用符号对 象表示符号变量、符号表达式、符号函数、符 号矩阵,本节介绍符号变量、符号表达式的创 建,至于符号函数和符号矩阵,将分别在11.3、 11.5节进行详细介绍。

Matlab 7.0 符号计算

技术凝聚实力 专业创新出版

11.2.1 创建符号变量sym函数可用于创建符号常量和变量,其调用格式为: sym_variable = sym(sym_expression) 该指令创建符号变量(或常量)sym_variable,其中 sym_expression为符号变量的字符串表示。如果 sym_expression为常数(例如pi、1、2.01等),则函 数返回符号常量;如果sym_expression是符合命名规则 的字符串(即该字符串只能包含数字、英文字母和下画 线,且不能以数字开头),则函数返回符号变量。

Matlab 7.0 符号计算

技术凝聚实力 专业创新出版

11.2.2 创建符号表达式符号表达式是符号变量或常量的组合,也可以将符号变 量和符号常量认为是符号表达式。符号表达式的创建, 依然使用函数sym,其调用格式为: sym_variable = sym(sym_expression) 这里的输入字符串参数sym_expression与11.2.1中有所 不同,它是由多个子字符串通过数值运算符组合而成的, 每个子字符串或者是符合命名规则的字符串或者是数值 常量。也可以事先利用sym或syms创建符号变量和常量, 然后通过数值运算符、支持符号计算的函数等将这些符 号变量或常量组合起来构成符号表达式。

Matlab 7.0 符号计算

技术凝聚实力 专业创新出版

11.2.3 符号对象与数值的转换MATLAB符号计算工具箱提供如下三类运算操作: Numberic,即MATLAB浮点运算

; Rational,即Maple符号运算; VPA,即Maple精度可变运算。 浮点运算是三者中运算速度最快、内存使用最少的一种,但其结果的精度 也较低,format可以控制输出结果的位数,但其内部表示仍然是8字节浮 点表示,也就是说format不能改变结果的精度。符号运算的结果是精确、 无近似的,但运算速度慢、消耗内存最多。VPA是浮点运算与符号运算的 折中,用户可以通过函数digits控制计算结果的精度,默认情况下digits = 32。

Matlab 7.0 符号计算

技术凝聚实力 专业创新出版

11.3 符号函数显而易见,符号函数与通常的数值函数有很大 的不同。本节从MATLAB中符号函数的创建开始, 分别介绍了符号函数的复合、反函数等内容, 然后给出了一些在理论和实际中具有重要应用 的符号函数。

Matlab 7.0 符号计算

技术凝聚实力 专业创新出版

11.3.1 创建符号函数可以通过下面两种方法创建符号函数: 符号表达式; M文件。 利用符号表达式创建符号函数的方法在例11.4 中已经介绍,这种方法适合于创建一些比较简 单的函数,对于比较复杂的符号函数的创建, 应该利用M文件。

Matlab 7.0 符号计算

技术凝聚实力 专业创新出版

11.3.2 复合函数已知函数、,复合函数定义为。MATLAB符号计 算工具箱提供函数compose用于符号函数复合, 其调用格式为: compose(f,g) compose(f,g,z) compose(f,g,x,z) compose(f,g,x,y,z)

Matlab 7.0 符号计算

技术凝聚实力 专业创新出版

11.3.3 反函数MATLAB符号工具箱的函数finverse用于计算函 数的反函数,其调用格式为: g = finverse(f) g = finverse(f,v) 其中f为符号表达式,该函数求f关于v的反函数, 如果未指定v,那么v = findsym(f)。

Matlab 7.0 符号计算

技术凝聚实力 专业创新出版

11.3.4 特殊符号函数MATLAB符号工具箱对一些重要的数学函数提供 了支持,

Matlab 7.0 符号计算

技术凝聚实力 专业创新出版

11.4 符号表达式的复合和化简符号表达式的显示、展开、分解、化简等是符 号运算的重要内容,MATLAB符号工具箱对这些 内容提供了强大的支持。本节将详细介绍 MATLAB符号工具相中符号表达式的显示、展开、 分解、替换、化简等操作。

Matlab 7.0 符号计算

技术凝聚实力 专业创新出版

11.4.1 显示符号表达式MATLAB显示符号表达式时,默认的方式是 MATLAB式的显示,例如在MATLAB命令窗口输入 以下代码。 >> f = a*x^2 + b*x + c 运行结果如下。 f = a*x^2+b*x+c

Matlab 7.0 符号计算

技术凝聚实力 专业创新出版

11.4.2 展开、分解及化简符号表达式对数学表达式的展开、分解、化简是学习数学和应用数学中经常要 做的工作,MATLAB符号工具箱这些工作提供了强大的支持,下面列 出了一些相关的函数及其使用方法。 函数collect用于同类项合并,其调用格式为: collect(f, s) collect(f) collect(f, s)将符号表达式f看作符号变量s的多项式(如果未指

定s,则默认s为findsym(f, 1)),对具有相同阶数的项进行合并。

Matlab 7.0 符号计算

技术凝聚实力 专业创新出版

11.4.3 符号表达式替换符号表达式的替换有两种,一是利用符号变量或符号表 达式替换目标符号表达式中的符号变量(包括符号常 量),利用函数subs实现;二是用符号变量替代目标符 号表达式中的某个子符号表达式,利用函数subexpr实 现。函数subs的一般调用格式为: R = subs(S) R = subs(S, new) R = subs(S,old,new)

Matlab 7.0 符号计算

技术凝聚实力 专业创新出版

11.5 符号矩阵符号矩阵是数值矩阵的扩展,符号矩阵的每个 元素为符号表达式。与数值矩阵一样,符号矩 阵也有代数运算、逻辑运算等;还可以求符号 矩阵的奇异值,对符号进行奇异值分解。对于 符号方阵,可以求行列式、特征值;符号方阵 可逆时,还可以求符号方阵的逆。本节涉及的 许多符号矩阵运算与数值矩阵相同,读者在学 习本节内容时可以参考第7章。

Matlab 7.0 符号计算

技术凝聚实力 专业创新出版

11.5.1 创建符号矩阵MATLAB符号工具箱中没有提供专门用于创建符 号矩阵的函数,用户可以通过以下三种方式创 建符号矩阵: 直接输入符号矩阵的各个元素——符号表达式; 利用sym函数将数值矩阵转化为符号矩阵,这种 方法只能创建符号常量矩阵; 简单符号矩阵的组合创建复杂符号矩阵。

Matlab 7.0 符号计算

技术凝聚实力 专业创新出版

11.5.2 符号矩阵的代数运算同数值矩阵一样,符号矩阵也能进行加、减、乘、除四则运算,并且具有 与数值矩阵几乎相同的运算规则,只是矩阵元素由数值变成了符号表达式。

Matlab 7.0 符号计算

技术凝聚实力 专业创新出版

11.5.3 符号矩阵的逻辑运算MATLAB符号工具箱对符号的逻辑运算支持很有 限,仅支持==和~=。 符号的逻辑运算。 运行结果如下。 ??? Function 'gt' is not defined for values of class 'sym'. Error in ==> gt at 16 builtin('gt', varargin{:});

Matlab 7.0 符号计算

技术凝聚实力 专业创新出版

11.5.4 符号矩阵的行列式符号矩阵的行列式与数值矩阵的行列式具有相 同的定义,只是符号矩阵的行列式为符号函数。 同样,行列式仅对符号方阵才有意义。 MATLAB利用同名函数det计算符号矩阵的行列 式,该函数在符号工具箱中被重载。 符号矩阵的行列式。 sin x cos x 矩阵 cos x sin x 被称为单位旋转矩阵,试求该矩 阵的行列式。

Matlab 7.0 符号计算

技术凝聚实力 专业创新出版

11.5.5 符号矩阵的逆对阶符号方阵,满足的符号方阵称为的逆,记 为。其中为单位符号方阵,对角线上元素为符 号常量,其余为0。 MATLAB符号工具箱提供同名函数inv用于计算符 号方阵的逆,这里的inv在符号工具箱中被重载。 下面是符号矩阵求逆应用的例子。

本文来源:https://www.bwwdw.com/article/pp74.html

Top