符号表达式
Help Search: Symbolic MathToolbox
第一节
包括的内容有微积分、线性代数、化简代数表达式、方程求解、特殊的数学函数、变量精度算法和数学变换
微积分:微分、积分、极限、求和(西格马)、泰勒级数
线性代数:求逆、行列式、特征值、奇异值分解、符号矩阵的范数形势
化简代数表达式:下详
方程求解:代数方程和微分方程的符号和数值求解
特殊的数学函数:一些经典应用数学的特殊函数
变量精度算法:以任意精度数值估算符号型数学表达式
数学变换:傅里叶变换、Laplace变换、Z变换和这些变换相应的反变换
工具箱中所有的符号表达式的计算都是在Maple内核下执行的。Maple系统最先主要由加拿大的沃特卢大学(University ofWaterloo)开发的,后来由瑞士的一个技术部门发展,最终由Waterloo Maple公司商业化运作。
The Symbolic MathToolboxes包含了两个子工具箱
基本的符号数学工具箱:它是100多个Matlab函数的集合,同过使用Matlab语言自然扩展的语法和类型来访问Maple内核入口,从而条用Maple函数。另外,他还允许访问Maple线性代数包中函数
扩展的符号数学工具箱:增加访问所有Maple非图形化的程序包、Maple编程特性、用户自定义程序。用这两个工具箱,可以自己编写M文件来访问Maple函数和Maple工作空间。
关于如何启动自己下载的Maplelibrary,参考Matlab帮助
第二节
符号对象
符号数学工具箱定义了Matlab的一个新的数据类型就是符号对象,这个符号对象可以是变量、表达式、矩阵等。也就是说它是一种特殊符号字符的新数据结构。
在Matlab中,典型的数据类型为double型,Matlab会根据输出格式自动的截断表达式计算结果,显示指定精度的数值型结果。而通过符号对象可以计算结果是以一个字符来表示相应的符号结果。例:sqrt(2) ans =1.414 a =sqrt(sym(2)) a=2^(1/2)
Sym syms创建符号变量和表达式
定义符号变量和表达式 x =sym('alpha') x输出为alpha
rho = sym('(1 +sqrt(5))/2') 然后通过符号变量rho可以计算各种各样的符号计算
如果要定义一个含有多个符号的表达式f=sym('a*x^2 + b*x + c'),此时f不能用来作为 较高级的微分积分等运算,必须先明确定义每一个符号:symsa b c x
Sym 可以用来将数值类型变量值转换成符号类型
x =sym('x','real') syms x yreal 可以指定符号变量的类型
sym可以用来定义抽象函数f = sym('f(x)') df = (subs(f,'x','x+h') -f)/'h'
sym可以访问Maple中的函数kfac = sym('k!') subs(kfac,k,6)
sym 可以创建符号矩阵syms a b c A= [a b c; b c a; c a b]
注意:对于定义常数的符号变量时必须采用f= sym('5')形式。
Syms一旦定义后所有的符号都从定义开始生效,前面相同的定义只对syms前 起作用
Findsym(f) 用来找出符号变量f中的符号变量,
Findsym(f,1)用来查找符号变量f中的默认变量
Subs(f,a,b)用符号新符号变量b,替换f中的符号变量a,当然b可以是数字
用户可以自己定义符号函数。通过在@sym 文件夹目录下创建M-文件,来建立自己的符号函数:此时可以扩充到多个参变量的情况
function z =sinc(x)
%SINC The symbolic sincfunction
% sin(x)/x. This function
% accepts a sym as the input argument.
ifisequal(x,sym(0))
z =1;
else
z =sin(x)/x;
end
微积分类函数列表
Diff计算符号微分
Jacobian 计算雅可比矩阵
Limit 求符号函数的极限
Int 求符号函数的积分
Symsum 符号函数关于某个变量求和
Taylor 求符号函数的有限项泰勒展开式