
最新MATLAB符号计算函数用法总结.pdf
9页MATLAB 符号计算函数用法总结 MATLAB 符号计算函数用法总结 符号计算是对未赋值的符号对象〔可以是常数、变量、表达式〕进行运算和处理 MTALAB 具有符号数学工具箱 〔Symbolic Math toolbox〕 ,将符号运算结合到 MATLAB 的属具运算环境符号数学工具箱是建立在 Maple 软件根底上的 算术符号操作: 命令有: +、 -、 *、 .*、 \、 .\、 /、 ./、 ^、 .^、 ’ 、 .’ 用法如下: A+B、A-B 符号阵列的加法和减法 假设 A 与 B 为同型阵列时,A+B、A-B 分别对对应分量进行加减; 假设 A 与 B 中至少有一个为标量,那么把标量扩大为与另外一个同型的阵列,再按对应的分量进行加减 A*B 符号矩阵乘法 A*B 为线性代数中定义的矩阵乘法按乘法定义要求必须有矩阵A的列数等于矩阵B的行数 即:假设 An*k*Bk*m=(aij)n*k.*(bij)k*m=Cn*m=(cij)n*m,那么 ,i=1,2,…,n;j=1,2,…,m 或者至少有一个为标量时,方可进行乘法操作,否那么将返回一出错 信息 A.*B 符号数组的乘法。
A.*B 为按参量 A 与 B 对应的分量进行相乘 A 与B 必须为同型阵列,或至少有一个为标量即: An*m.*Bn*m=(aij)n*m.*(bij)n*m=Cn*m=(cij)n*m,那么 cij= aij* bij,i=1,2,…,n;j=1,2,…,m A\B 矩阵的左除法 X=A\B 为符号线性方程组 A*X=B 的解我们指出的是,A\B 近似地等于 inv(A)*B假设 X 不存在或者不唯一,那么产生一警告信息矩阵 A 可以是矩形矩阵〔即非正方形矩阵〕 ,但此时要求方程组必须是相容的 A.\B 数组的左除法 A.\B 为按对应的分量进行相除假设 A 与 B 为同型阵列时, An*m.\Bn*m=(aij)n*m.\(bij)n*m=Cn*m=(cij)n*m,那么 cij= aij\ bij,i=1,2,…,n;j=1,2,…,m 假设假设 A 与 B 中至少有一个为标量,那么把标量扩大为与另外一个同型的阵列,再按对应的分量进行操作 A/B 矩阵的右除法 An*m..^Bn*m=(aij)n*m..^(bij)n*m=Cn*m=(cij)n*m,那么 cij= aij^bij,i=1,2,…,n;j=1,2,…,m。
假设 A 与 B 中至少有一个为标量,那么把标量扩大为与另外一个同型的阵列, 再按对应的分量进行操作 A'矩阵的 Hermition 转置 假设 A 为复数矩阵,那么 A'为复数矩阵的共轭转置即,假设 A=(aij)=(xij+i*yij),那么 A.'数组转置 A.'为真正的矩阵转置,其没有进行共轭转置 符号运算的根本运算: 1、合并同类项: 函数 collect: 格式 R = collect(S) %对于多项式S 中的每一函数,collect(S)按缺省变量 x 的次数合并系数 R = collect(S,v) %对指定的变量 v 计算,操作同上 2、列空间的基: 函数 colspace 格式 B = colspace(A) %返回矩阵 B,其列向量形成由矩阵 A 的列向量形 成的空间的坐标基, 其中 A 可以是符号或数值矩阵而 size(colspace(A),2)等于 rank(A)即由 A 生成的空间维数等于 A 的秩 3、复合函数计算: 函数 compose 格式 compose(f,g) %返回复合函数f[g(y)],其中 f=f(x),g=g(y)。
其中符 号 x 为函数 f 中由命令 findsym(f) 确定的符号变量,符号 y 为函数 g 中由命令findsym(g) 确定的符号变量 4、符号复数的共轭: 函数 conj 格式 conj(X) %返回符号复数 X 的共轭复数 5、符号复数的实数局部: 函数 real 格式 real(Z) %返回符号复数 z 的实数局部 6、符号复数的虚数局部: 函数 imag 格式 imag(Z) %返回符号复数 z 的虚数局部 7、余弦函数的整函数: 格式 Y = cosint(X) %计算余弦函数在点 X 处的整函数值其中 X 可以是 数值矩阵,或符号矩阵余弦函数的整函数定义为: ,其中 为 Euler 常数, =0.57721566490153286060651209„ i=1,2,…,size(X) Euler 常数可以通过命令 vpa('eulergamma')获得 8、设置变量的精度: 函数 digits 格式 digits(d) %设置当前的可变算术精度的位数为整数 d 位 d = digits %返回当前的可变算术精度位数给 d digits %显示当前可变算术精度的位数 说明 设置有意义的十进制数值的、 在 Maple 软件中用于做可变算术精度〔命令为:vpa〕计算的数字位数。
其缺省值为 32 位数字 9、将符号转换为 MATLAB 的数值形式: 函数 double 格式 R = double(S) %将符号对象 S转换为数值对象 R假设 S 为符号常数 或表达式常数,double 返回 S 的双精度浮点数值表示形式; 假设 S 为每一元素是符号常数或表达式常数的符号矩阵,double 返回 S 每一元素的双精度浮点数值表示的数值矩阵 R 10、符号表达式的展开: 函数 expand 格式 R = expand(S) %对符号表达式S中每个因式的乘积进行展开计算 该命令通常用于计算多项式函数、三角函数、指数函数与对数函数等表达式的展开式 11、符号因式分解: 函数 factor 格式 factor(X) %参量 x 可以是正整数、符号表达式阵列或符号整数阵列 假设 X 为一正整数,那么 factor(X)返回 X 的质数分解式假设 x 为多项式或整数矩阵,那么factor(X)分解矩阵的每一元素假设整数阵列中有一元素位数超过 16 位, 用户必须用命令 sym 2^2+4*a12*a21)^(1/2) 1/2*a11+1/2*a22-1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2) 。
