文档介绍:第4章符号运算
符号对象的创建和使用
符号对象的运算
符号表达式的变换
符号微积分、极限和级数
符号积分变换
符号方程的求解
符号函数的可视化
符号运算的对象是非数值的符号对象,对于像公式推导和因式分解等抽象的运算都可以通过符号运算来解决。
MATLAB 2006b对应的是Symbolic Math Toolbox 。
符号工具箱能够实现微积分运算、线性代数、表达式的化简、求解代数方程和微分方程、不同精度转换和积分变换,符号计算的结果可以以图形化显示,MATLAB的符号运算功能十分完整和方便。
符号运算的特点:
(1)符号运算以推理解析的方式进行,计算的结果不受计算累积误差影响;
(2)符号计算可以得出完全正确的封闭解和任意精度的数值解;
(3)符号计算命令调用简单;
(4)符号计算所需要的时间较长。
符号对象的创建和使用
创建符号对象都可以使用sym和syms函数来实现。
1. sym函数
S=sym(s,参数) %由数值创建符号对象
S=sym(‘s’,参数)%由字符串创建符号对象
当被转换的s是数值时,参数可以是'd'、'f'、'e'或'r' 四种格式,当被转换的's'是字符串时,参数可以是'real'、'unreal'和'positive'三种格式
2. syms函数
syms(s1,s2,s3,…,参数)
或 syms s1,s2,s3,…,参数%创建多个符号变量
syms与sym的关系是:syms(s1,s2,s3,…,参数)等同于s1=sym('s1',参数),s2=sym('s2',参数)……
3. class函数
s=class(x) %返回对象x的数据类型
符号常量和符号变量
符号常量是不含变量的符号表达式,用sym函数来创建;符号变量使用sym和syms函数来创建。
例如:
>> a1=sym(sin(2)) %用数值创建符号常量
>> a2=sym(sin(2),'f') %用十六进制浮点表示
>> a1=sym('a','unreal') %用字符串创建符号变量
练习
符号表达式
符号表达式是由符号常量和符号变量等构成的表达式,使用sym和syms函数来创建。
例4-3 分别使用sym和syms函数创建符号表达式。
>> syms a b c x
>> f1=a*x^2+b*x+c
f1 =
a*x^2+b*x+c
>> f2=sym('y^2+y+1') %创建符号表达式
f2 =
y^2+y+1
>> f3=sym('sin(z)^2+cos(z)^2=1')%创建符号方程
f3 =
sin(z)^2+cos(z)^2=1
符号矩阵
符号矩阵的元素是符号对象,符号矩阵可以用sym和syms函数来创建。
>> A=sym('[a,b;c,d]')
A =
[ a, b]
[ c, d]
符号对象的运算 符号对象的基本运算
1. 算术运算
(1)“+”,“-”,“*”,“\”,“/”,“^”
(2)“.*”,“./”,“.\”,“.^”
(3)“′”,“.′”
2. 关系运算
只有运算符“= =”、“~=”分别对符号对象进行“相等”、“不等”的比较。
3. 三角函数、双曲函数和相应的反函数
三角函数包括sin、cos和tan,双曲函数包括sinh、cosh和tanh
4. 指数和对数函数
5. 复数函数
6. 矩阵代数命令
例:
>> A=sym('[a,b;c,d]');
>> B=sym('[1 2;3 4]');
>> C=A+B
C =
[ a+1, b+2]
[ c+3, d+4]
练习