第3 章 MATLAB 符号计算 符号计算则是可以对未赋值的符号对象(可以是常数、变量、表达式)进行运算和处理。MATLAB 具有符号数学工具箱(Sy mbolic Math Toolbox ),将符号运算结合到 MATLAB 的数值运算环境。符号数学工具箱是建立在 Maple 软件基础上的。 3.1 符号表达式的建立 Sy mbolic Math Toolbox 2.1 版规定在进行符号计算时,首先要定义基本的符号对象然后才能进行符号运算。 3.1.1 创建符号常量 符号常量是不含变量的符号表达式,用 sy m 命令来创建符号常量。 语法: sym(‘常量’) %创建符号常量 例如,创建符号常量,这种方式是绝对准确的符号数值表示: >> a=sym('sin(2)') a = sin(2) sy m 命令也可以把数值转换成某种格式的符号常量。 语法: sym(常量,参数) %把常量按某种格式转换为符号常量 说明:参数可以选择为’d’、’f’、’e’或’r’ 四种格式,也可省略,其作用如表 3.1 所示。 表 3.1 参数设置 参数 作用 d 返回最接近的十进制数值(默认位数为 32 位) f 返回该符号值最接近的浮点表示 r 返回该符号值最接近的有理数型 (为系统默认方式),可表示为 p/q、p*q、10^q、pi/q、2^q 和 sqrt(p)形式之一 e 返回最接近的带有机器浮点误差的有理值 例如,创建符号常量,这种方式是绝对准确的符号数值表示: a=sym('sin(2)') a = sin(2) 例如,把常量转换为符号常量,按系统默认格式转换: a=sym(sin(2)) a = 8190223105242182*2^(-53) 【例3.1】创建数值常量和符号常量。 a1=2*sqrt(5)+pi %创建数值常量 a1 = 7.6137 a2=sym('2*sqrt(5)+pi') %创建符号表达式 a2 = 2*sqrt(5)+pi a3=sym(2*sqrt(5)+pi) %按最接近的有理数型表示符号常量 a3 = 8572296331135796*2^(-50) a4=sym(2*sqrt(5)+pi,'d') %按最接近的十进制浮点数表示符号常量 a4 = 7.6137286085893727261009189533070 a31=a3-a1 %数值常量和符号常量的计算 a31 = 0 a5='2*sqrt(5)+pi' %字符串常量 a5 = 2*sqrt(5)+pi 可以通过查看工作空间来查看各变量的数据类型和存储空间,工作空间如图 3.1 所示。 3.1.2 创建符号变量和表达式 创建符号变量和符号表达式可以使用 sym 和syms 命令。 1. 使用 sym 命令创建符号变量和表达式 语法: sym(‘变量’,参数) %把变量定义为符号对象 图 3.1 工作空间窗口 说明:参数用来设置限定符号变量的数学特性...