数学计算有数值计算与符号计算之分。这两者的根本区别是 : 数值计算的表达式、矩阵变量中不允许有未定义的自由变量 , 而符号计算可以含有未定义的符号变量。对于一般的程序设计软件如 C, C + + 等语言实现数值计算还可以 , 但是实现符号计算并不是一件容易的事。而 Matlab 自带有符号工具箱 Symbolic Math Tooibox , 而且可以借助数学软件 Maple, 所以 Matlab 也具有强大的符号运算功能。
在数值计算 ( 包括输入、输出及中间变量在内的 ) 过程中 , 所运作的变量都是被赋了值的数值变量。而在符号计算的整个过程中 , 所运作的是符号变量。注意 : 在符号计算中所出现的数字也都是当作符号处理的。
所谓符号计算是指在运算时,无须事先对变量赋值,而将所得到结果以标准的符号形式来表示。
例如,在符号变量运算过程中pi就用pi表示,而不是具体的近似数值3.14或3.14159。使用符号变量进行运算能最大限度减少运算过程中因舍入造成的误差。符号变量也便于进行运算过程的演示。
一、符号计算基础
(一) 定义符号变量
参与符号运算的对象可以是符号变量、符号表达式或符号矩阵。符号变量要先定义,后引用。可以用sym函数、syms函数将运算量定义为符号型数据。引用符号运算函数时,用户可以指定函数执行过程中的变量参数;若用户没有指定变量参数,则使用默认的变量作为函数的变量参数。
1、sym函数
1
2
3
4
5
6
7
|