1、算术符号操作
在matlab中符号变量间也可进行算术运算,常用算术符号:+、-、*、.*、\、.\、/、./、^、.^、 '、 .',假设用符号变量A和B,其中A,B可以是单个符号变量也可以是有符号变量组成的符号矩阵。当A,B是矩阵时,运算规则按矩阵运算规则进行。
A+B、A-B:加法与减法。若A与B为同型阵列时,A+B、A-B分别对对应分量进行加减;若A与B中至少有一个为标量,则把标量扩大为与另外一个同型的阵列,再按对应的分量进行加减。
A*B:叉乘。A*B为线性代数中定义的矩阵乘法。 按乘法定义要求必须有矩阵 A 的列数等于矩阵B的行数。
A.*B:点乘。A.*B 为按参量A与B对应的分量进行相乘。A 与B必须为同型阵列,或至少有一个为标量。
A\B:左除。X=A\B为符号线性方程组A*X=B 的解。A\B近似地等于inv(A)*B。若X不存在或者不唯一,则产生一警告信息。矩阵A可以是矩形矩阵(即非正阵),但此时要求方程组必须是相容的。
A.\B:左点除。按对应的分量进行相除。
A/B:右除。X=B/A为符号线性方程组X*A=B的解。B/A粗略地等于B*inv(A)。
A./B:右点除。按对应的分量进行相除。
A^B:次方幂。计算矩阵A的整数B次方幂。若A为标量而B为方阵,A^B用方阵B的特征值与特征向量计算数值。若A 与B同时为矩阵,则返回一错误信息。
A.^B:点次方幂。按A与B对应的分量进行方幂计算。
A':Hermition转置。若A为复数矩阵,则A'为复数矩阵的共轭转置。
A.':转置。A.'为真正的矩阵转置,不进行共轭转置。
例1
syms a b c d e f
A = [a,b; c,d];
B = [e,f];
% 求解符号线性方程组X*A=B的解
X = B/A
2、常用符号运算
下面介绍常用的符号命令:
(a) 多项式展开:expand
格式:R = expand(S) ,对符号表达式S中每个因式的乘积进行展开计算。该命令通常用于计算多项式函数、三角函数、指数函数与对数函数等表达式的展开式。
例2.1
(b) 因式分解:factor
格式:factor(X),参量x可以是正整数、符号表达式阵列或符号整数阵列。若X为一正整数,则factor(X)返回X的质数分解式。若x为多项式或整数矩阵,则factor(X)分解矩阵的每一元素。若整数阵列中有一元素位数超过16位,用户必须用命令sym生成该元素。
例2.2
(c) 符号表达式的最简形式:simple
格式:r = simple(S),该命令试图找出符号表达式S的代数上的简单形式,显示任意的能使表达式S长度变短的表达式,且返回其中最短的一个。
例2.3
(d) 代数方程的符号解析解:solve
格式:g = solve(eq),输入参量eq可以是符号表达式或字符串。
例2.4
(e) 极限:limit
格式:limit(F,x,a),当x→a时,计算符号表达式F=F(x)的极限值。
例2.5
(f) 导数或偏导数:diff
格式:diff(S,'v')或diff(S,sym('v')) ,对表达式S中指定符号变量v计算S的1阶导数。
例2.6
(g) 积分:int
格式:R = int(S,v),对符号表达式S中指定的符号变量v计算不定积分。
例2.7
(h) 常微分方程的解析解:dsolve
格式:r = dsolve('eq1,eq2, …','cond1,cond2, …','v'),对给定的常微分方程(组) eq1,eq2, …中指定的符号自变量v,与给定的边界条件和初始条件cond1,cond2, …,. 求解析解r。
例2.8
3、符号运算命令大全
名称 | 用途 |
---|---|
collect | 合并同类项 |
colspace | 列空间的基 |
compose | 复合函数计算 |
conj | 符号复数求共轭 |
real | 符号复数取实数 |
imag | 符号复数取虚数 |
digits | 设置变量的精度 |
double | 将数值符号转为数值 |
expand | 展开符号表达式 |
factor | 符号表达式因式分解 |
numden | 返回符号表达式的分子与分母 |
simple | 符号表达式的最简形式 |
simplify | 符号表达式的化简 |
size | 符号矩阵的维数 |
solve | 代数方程的符号解析解 |
subexpr | 以共同的子表达式形式重写一符号表达式 |
poly | 特征多项式 |
poly2sym | 将多项式系数转化为带符号变量的多项式 |
pretty | 将表达式显示成惯用的数学书写形式 |
findsym | 从符号表达式中或矩阵中找出符号变量 |
finverse | 函数的反函数 |
horner | 嵌套形式的多项式的表达式 |
hypergeom | 广义超几何函数 |
symsum | 符号表达式求和 |
limit | 极限 |
diff | 导数或偏导数 |
int | 积分 |
dsolve | 解常微分方程 |
fourier | Fourier积分变换 |
ifourier | 逆Fourier积分变换 |
laplace | Laplace变换 |
ilaplace | 逆Laplace变换 |
zeta | Riemannζ-函数 |
ztrans | z-变换 |
iztrans | 逆z-变换 |
taylor | Taylor 级数展开式 |
jacobian | Jacobian矩阵 |
jordan | Jordan标准形 |
lambertw | Lamber的W函数 |
subs | 在一符号表达式或矩阵中进行符号替换 |
sym | 创建符号数值、变量与对象 |
syms | 创建多个符号变量 |
sym2poly | 将符号多项式转化为数值多项式 |
vpa | 可变精度计算 |
ezcontour | 画符号函数的等高线图 |
ezcontourf | 用不同颜色填充的等高线图 |
ezmesh | 三维网格图 |
ezmeshc | 同时绘制曲面网格图与等高线图 |
ezplot | 绘制符号函数的图 |
ezplot3 | 三维参量曲线图 |
ezpolar | 极坐标图 |
ezsurf | 曲面图 |
ezsurfc | 同时绘制曲面图与等高线图 |
ccode | 符号表达式的C语言代码 |
fortran | 符号表达式的Fortran语言代码 |
latex | LaTex表示式 |
maple | 调用Maple内核 |
mapleinit | 初始化Maple内核 |
mfun | Maple数学函数数值计算 |
mfunlist | 列出mfun中特定的Maple函数 |
mhelp | Maple命令帮助 |
温馨提示
如果你喜欢本文,请分享到朋友圈,想要获得更多信息,请关注我。