Matlab符号表达式的⽤法
Matlab符号表达式的⽤法(1)
符号表达式
Help Search: Symbolic MathToolboxmatlab定义函数表达式
第⼀节
包括的内容有微积分、线性代数、化简代数表达式、⽅程求解、特殊的数学函数、变量精度算法和数学变换
微积分:微分、积分、极限、求和(西格马)、泰勒级数
线性代数:求逆、⾏列式、特征值、奇异值分解、符号矩阵的范数形势
化简代数表达式:下详
⽅程求解:代数⽅程和微分⽅程的符号和数值求解
特殊的数学函数:⼀些经典应⽤数学的特殊函数
变量精度算法:以任意精度数值估算符号型数学表达式
数学变换:傅⾥叶变换、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 求符号函数的有限项泰勒展开式
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论