Matlab符号数学工具箱应用简介
Matlab 符号运算是通过集成在 Matlab 中的符号数学工具箱(Symbolic Math Toolbox)
来实现的。和别的工具箱有所不同,该工具箱不是基于矩阵的数值分析,而是使用字符串来
进行符号分析与运算。实际上,Matlab 中的符号数学工具箱是建立在 Maple 基础上的,当
进行 Matlab 符号运算时,它就请求 Maple 软件去计算并将结果返回给 Matlab。
Matlab 的符号数学工具箱可以完成几乎所有得符号运算功能。这些功能主要包括:符
号表达式的运算,符号表达式的复合、化简,符号矩阵的运算,符号微积分、符号函数画图,
符号代数方程求解,符号微分方程求解等。此外,工具箱还支持可变精度运算,既支持符号
运算并以指定的精度返回结果。
在一般的 Matlab 书籍中都会对 Matlab 的符号运算做一些介绍,本文将略去这些简单的
部分,主要对比较复杂的部分做一些介绍,另外,限于篇幅,和前面几篇一样,在此也仅仅
列出函数的名称和功能,至于其参数设置,可借助 Matlab 的帮助系统
一、符号表达式的运算
[n,d]=numden(a) 提取符号表达式 a 的分子和分母,并将其存放在 n 和 d 中
n=numden(a) 提取符号表达式 a 的分子和分母,只将分子存放在 n 中
symadd(a,b) 返回符号表达式 a 和 b 的和,也可直接用 a+b
symsub(a,b) 返回符号表达式 a 和 b 的差,也可直接用 a-b
symmul(a,b) 返回符号表达式 a 和 b 的积,也可直接用 a*b
symdiv(a,b) 返回符号表达式 a 和 b 的商,也可直接用 a/b
sympow(a,b) 返回符号表达式 a 的 b 次幂,也可直接用 a^b
compose(f,g) 返回复合函数 f(g(y))
compose(f,g,z) 返回自变量为 z 的复合函数 f(g(z))
compose(f,g,x,z) 返回复合函数 f(g(z)),并使 x 成为 f
函数的独立变量。即,如果
f=cos(x/t),则 compose(f,g,x,z)返回复合函数 cos(g(z)/t),而
compose(f,g,t,z)返回 cos(x/g(z))
compose(f,g,x,y,z) 返回复合函数 f(g(z)),并且使 x 与 y 分别成为 f 与 g 函数的独立
变量。即如果 f=cos(x/t), g=sin(y/u), compose(f,g,x,y,z)返回
cos(sin(z/u)/t),而 compose(f,g,x,u,z)返回 cos(sin(y/z)/t)
finverse(f) 返回符号函数 f 的反函数
finverse(f,v) 返回自变量为 v 的符号函数 f 的反函数
symsum(s) 返回
∑
−1
0
)(
x
xs
symsum(s,v) 返回
∑
−1
0
)(
x
vs
symsum(s,a,b) 返回
∑
b
a
xs )(
symsum(s,v,a,b) 返回
∑
b
a
vs )(
二、符号与数值间的转换以及符号的可变精度计算
评论9