1.什么是符号数学工具箱?
符号数学工具箱是Matlab针对符号对象的运算功能,它引入了一种特殊的数据类型 - 符号对象;
该数据类型包括符号数字,符号变量,符号表达式和符号函数,还包含符号矩阵,以及上述变量组成的符号数组等,符号对象也成为符号类型;
符号数学工具箱提供求解、绘图和操作符号数学方程的功能,针对符号类型数据的运算,称为符号运算。
2.为什么要使用符号运算?
首先说Matlab里常规的数值型类数据(浮点型)在存储和运算时,一般使用小数近似,例如10/3=3.3333,由于计算机硬件存储限制,结果3.3333并不是真实的结果3又1/3,但在一般应用中,这不是什么大问题;
当特别关注运算的精确度时,上述问题就变成了大问题;
于是,符号运算应运而生,它采用符号化的方式存储变量,例如上述10/3,采用符号运算结果等于10/3,是的,分数的形式;
3.创建符号对象(变量)
符号变量声明(创建)后可直接使用,无输出结果,但工作区会存储;
创建符号变量使用函数sym、syms
程序示例:
sym('x') %语法1
syms x %语法2
syms x y z %创建多个符号变量
sym('x',[1 5]) %创建符号变量x1/x2/x3/x4/x5

4.符号类型和数值类型的精度差别
程序示例:
1/6 %双精度浮点型1/6,在Matlab中使用小数表达0.1667
x=sym(1/6) %创建符号变量,分数形式表达1/6
sin(pi) %双精度浮点pi值计算sin值,有舍入误差1.2246e-16
sin(sym(pi)) %对符号对象数值pi求sin值,完整表达0
5.符号表达式
程序示例:
syms x y z
f=2*x+1 %符号表达式
g=x*y+z
6.符号函数
符号函数的用法与常规的函数用法相同,差异在于处理的数据类型不同,用符号对象运算时,需要首先声明符号对象,并且可以形式化的表达结果。
程序示例:
syms x
f(x)=2*x+1 %符号函数
f(1) %符号函数的调用,结果是符号对象3
syms f(x,y) %直接创建(声明)没有函数表达式的函数
f(x,y) %调用
f(1,2) %运算结果形式f(1,2)
7.符号矩阵
符号矩阵的用法与常规的矩阵用法相同,差异在于处理的数据类型不同,用符号对象运算时,需要首先声明符号对象,并且可以形式化的表达结果。
程序示例:
syms a b c d %声明符号变量
A=[a b;c d] %符号矩阵
B=[a 1;c 3]
sum(A) %符号矩阵运算,与常规矩阵算法相同
sum(B)
sym('x',[2 2]) %创建2行2列矩阵,自动添加下标
sym('x%d%d',[2 2]) % 返回结果[x11, x12;x21, x22]
sym('x%d2018%d',[2 2]) %2个下标中间添加数字
End
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删