7.1符号对象
符号对象的建立
- 符号对象名 = sym(A) 用于建立单个符号对象,将由A来建立符号对象.其中,A可以是一个数值常量,数值矩阵或数值表达式(不加单引号),此时符号对象为一个符号常量;A也可以是一个变量名,这时符号对象为一个符号变量.
- syms 符号变量名1 符号变量名2 ··· 符号变量名n ;其中变量之间使用空格隔开
符号对象的运算
- 四则运算: 符号表达式的四则运算与数值运算一样,用+,-,*,/,^运算符实现,其运算结果依然是一个符号表达式
- 关系运算: < <= > >= == ~= 对应6个函数 lt le gt ge eq ne
- 在进行符号对象的运算前,可用assume函数对符号对象设置值域
assume(condition)
assume(expr, set)
第一张格式指定变量满足条件,第二种格式指定表达式expr属于集合set
- 逻辑运算:三种逻辑运算符&(与) |(或) ~(非) 四个逻辑运算函数and(a,b) or(a,b) not(a) xor(a,b)
- 因式分解与展开运算
factor(s): 对符号表达式分解因式
expand(s) : 对符号表达式s进行展开
collect(s) : 对符号表达式s合并同类项
collect(s,v) : 对符号表达式s按变量v合并同类项
- 其他运算
[n, d] = numden(s) 提取有理分式的分子分母
c = coeffs(s, x) 提取符号表达式的系数
simplify(s) 符号表达式化简
sym2poly 符号多项式转换为多项式系数向量
poly2sym 多项式系数向量转换为符号多项式
- 符号运算中变量确定
如果没有明确指定自变量,MATLAB将按以原则确定主变量并对其进行相应运算:
- 寻找除i,j之外,在字母顺序上最接近x的小写字母
- 若表达式中有连个符号变量与x 的距离相等,则ASCII码大者优先
symvar函数可以用于查找一个符号表达式中的符号变量,函数的调用格式为 symvar(s,n) 返回符号表达式s中的n个变量
符号矩阵
- 符号矩阵也是一种符号表达式,所以符号表达式运算都可以在矩阵意义下进行
- 注意,这些函数作用于符号矩阵时,是分别作用于矩阵的每一个元素
7.2符号微积分
符号函数的极限
- limit(f, x, a) 求函数f关于变量x在a点的极限
- limit(f, x, a, 'right') limit(f, x, a, 'left') 求单边极限
符号函数的导数
- diff(f, x, n) 求函数f关于变量x的n阶导数
符号函数的积分
- int(f, x) 求函数f对变量x的不定积分
- int(f, x, a, b) a,b分别表示定积分的下限和上限;当a,b中有一个为inf时,返回一个广义积分;a,b中有一个符号表达式时,返回一个符号函数
7.3级数
级数求和
- symsum(s, v, n, m ) 其中,s表达一个级数的通项,是一个符号表达式,v是求和变量,v省略时使用系统的默认变量.n和m是求和变量v的初值和末值
泰勒级数
- MATLAB提供了taylor函数将函数展开为幂级数
- taylor(f, v, a, Name, Value) 将函数f按变量v在a点展开为泰勒级数,v的默认值与diff函数相同,a 的默认值是0.Name和Value为选项设置,经常成对使用,前者为选项名,后者为该选项的设置:
- 'ExpansionPoint' : 指定展开点,对应值可以实标量或向量.未设置时,展开点为0
- 'Order' : 指定截断参数,对应值为一个正整数.未设置时,阶段参数为6,即展开式的最高阶为5
- 'OrderMode' : 指定展开式采用绝对阶或相对阶,对应值为'Absolute'或'Relative',未设置时取前者
- 泰勒级数可以让复杂的函数近似为简单的形式,便于参与运算
7.4符号方程求解
代数方程求解
- solve(s) 求解符号表达式s的代数方程,求解变量为默认变量
- solve(s, v) 求解符号表达式s的代数方程,求解变量为v
- solve(s1, s2, ..., sn , v1, v2, ..., vn) 求解符号表达式s1, s2, ..., sn 组成的代数方程组, 求解变量分别为v1, v2, ..., vn
常微分方程求解
- 在MATLAB中,用大写字母D表示导数.D3y表示y''',Dy(0)=5表示y'(0)=5
- dsolve(e, c, v) 用于求解常微分方程e在初始条件下c的特解,参数v是方程中的自变量,省略时按默认原则处理,若没有给处初始条件c,则求方程中的通解.
- dsolve(e1, e2, ..., en, c1, ..., cn, v ) 用于求解常微分方程组e1, ..., en 在初始条件c1, ..., cn下的特解,若不给出初始条件,则求解方程组的通解.v给出求解变量,如果没有指定自变量,则采用默认自变量