编辑: 鱼饵虫 | 2015-06-25 |
这两者的根本区别是:数值计算的表达式、矩阵 变量中不允许有未定义的自由变量, 而符号计算可以含有未定义的符号变量. Matlab 功能强 大,而Matlab 的符号运算是 Matlab 的基本特性.Matlab 符号运算是通过符号数学工具箱 (Symbolic Math Toolboxl)来实现的.Matlab 符号数学工具箱是建立在功能强大的 Maple 软件 的基础上的, 当Matlab 进行符号运算时, 它就请求 Maple 软件去计算并将结果返回给 Matlab. 而Matlab 符号数学工具箱可以完成几乎所有的符号运算功能,主要包括:符号表达式的运 算、符号表达式的复合与化简、符号矩阵的运算、符号微积分、符号代数方程求解、符号微 分方程求解等.此外,该工具箱还支持可变精度运算,即支持以指定的精度返回结果. Matlab 符号运算的特点是,计算以推理方式进行,因此不受计算误差累积所带来的困 扰,并且符号计算指令的调用比较简单,与数学教科书上的公式相近,但是符号计算所需 的运行时间相对较长. 教学要求:通过本章的学习,可以掌握 matlab 基本的符号运算,如数值符号运算、符 号微积分的运算、符号积分变换符号方程的求解方法. 学习目标82 MATLAB 基础及实验教程 5.1 符号运算简介 符号对象是符号工具箱中定义的另一种数据类型.符号对象是符号的字符串表示.在 符号工具箱中符号对象用于表示符号变量、表达式和方程. 5.1.1 符号变量、表达式的生成 MATLAB中有两个函数用于符号变量、 符号表达式的生成, 这两个函数为sym和syms, 分别用于生成一个或多个符号对象. 1.sym 函数 sym 函数可以用于生成单个的符号变量.该函数的调用格式为: s=sym(A) 如果参数 A 为字符串,则返回的结果为一个符号变量或者一个符号数值;
如果 A 是 一个数字或矩阵,则返回结果为该参数的符号表示. x=sym('
x'
) 该命令创建一个符号变量,该变量的内容为 x,表达为 x.还可以指定变量的数学属 性,具体格式如下: s=sym('
s'
,'
real'
)声明变量 s 为实数类型 s=sym('
s'
,'
real'
),指定符号变量 s 为实数. s=sym('
s'
,'
unreal'
)声明变量为非实数类型 s=sym('
s'
,'
positive'
)声明变量为整数类型 s=sym(A,flag),其中 参数 flag 可以为'
r'
,'
d'
,'
e'
或者'
f'
中的一个.该函数将数值标 量或者矩阵转化为参数形式,该函数的第
2 个参数用于指定浮点数转化的方法. 以下是用 sym 命令定义
3 个变量的方法: >
>
x=sym('
x'
) %创建变量 x >
>
y=sym('
y'
) %创建变量 y >
>
z=sym('
z'
) %创建变量 z 2.syms 函数 函数sym一次只能定义一个符号变量, 使用不方便. MATLAB提供了另一个函数syms, 一次可以定义多个符号变量.syms 函数的一般调用格式为: syms 符号变量名
1 符号变量名 2…符号变量名 n 不要在变量名上加字符串分界符('
),变量分隔用空格而不要用逗号分隔. 注意: (1) syms 一次可以定义多个符号变量;
(2) syms 命令 sym 函数的缩写形式;
syms x y real 等价于 x=sym('
x'
, '
real'
);
y =sym('
y'