Matlab符号表达式的用法

Matlab符号表达式的用法(1)

符号表达式

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 =.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 求符号函数的有限项泰勒展开式

 

你可能感兴趣的:(解决方法,MATLAB相关)