第五章 符号计算符号计算的特点:一,运算以推理解析的方式进行,因此不受计算误差积累问题困扰;二,符号计算,或给出完全正确的封闭解,或给出任意精度的数值解(当封闭解不存在时);三,符号计算指令的调用比较简单,经典教科书公式相近;四,计算所需时间较长,有时难以忍受。在 MATLAB 中,符号计算虽以数值计算的补充身份出现,但涉及符号计算的指令使用、运算符操作、计算结果可视化、程序编制以及在线帮助系统都是十分完整、便捷的。MATLAB 的升级和符号计算内核 Maple 的升级,决定着符号计算工具包的升级。但从用户使用角度看,这些升级所引起的变化相当细微。即使这样,本章还是及时作了相应的更新和说明。如 MATLAB 6.5+ 版开始启用 Maple VIII 的计算引擎,从而克服了 Maple V 计算“广义 Fourier 变换”时的错误(详见第 5.4.1 节)。5.1 符号对象和符号表达式5.1.1 符号对象的生成和使用【例 5.1.1-1】符号常数形成中的差异a1=[1/3,pi/7,sqrt(5),pi+sqrt(5)]%<1>a2=sym([1/3,pi/7,sqrt(5),pi+sqrt(5)])%<2>a3=sym([1/3,pi/7,sqrt(5),pi+sqrt(5)],'e')%<3>a4=sym('[1/3,pi/7,sqrt(5),pi+sqrt(5)]')%<4>a24=a2-a4 a1 = 0.3333 0.4488 2.2361 5.3777a2 =[ 1/3, pi/7, sqrt(5), 6054707603575008*2^(-50)]a3 =[ 1/3-eps/12, pi/7-13*eps/165, sqrt(5)+137*eps/280, 6054707603575008*2^(-50)]a4 =[ 1/3, pi/7, sqrt(5), pi+sqrt(5)]a24 =[ 0, 0, 0, 189209612611719/35184372088832-pi-5^(1/2)] 【例 5.1.1-2】演示:几种输入下产生矩阵的异同。a1=sym([1/3,0.2+sqrt(2),pi])%<1>a2=sym('[1/3,0.2+sqrt(2),pi]')%<2>a3=sym('[1/3 0.2+sqrt(2) pi]')%<3>a1_a2=a1-a2% a1 =[ 1/3, 7269771597999872*2^(-52), pi]a2 =[ 1/3, 0.2+sqrt(2), pi]a3 =[ 1/3, 0.2+sqrt(2), pi]a1_a2 =[ 0, 1.4142135623730951010657008737326-2^(1/2), 0] 【例 5.1.1-3】把字符表达式转换为符号变量y=sym('2*sin(x)*cos(x)')y=simple(y) y =2*sin(x)*cos(x)y =sin(2*x) 【例 5.1.1-4】用符号计算验证三角等式。syms fai1 fai2;y=simple(sin(fai1)*cos(fai2)-cos(fai1)*sin(fai2)) y =sin(fai1-fai2) 【例 5.1.1-5】求矩阵的行列式值、逆和特征根syms a11 a12 a21 a22;A=[a11,a12;a21,a22]DA=det(A),IA=inv(A),EA=eig(A) A =[ a11, a12][ a21, a22]DA =a11*a22-a...