7.10 符号分析可视化
MATLAB的符号数学工具箱为符号函数可视化提供了一组简便易用的指令。本节着重介绍两个进行数学分析的可视化界面,即图示化符号函数计算器界面(由指令funtool引出)和泰勒级数逼近分析界面(由指令taylortool引出)。
7.10.1 funtool分析界面
对于习惯使用计算器或者只做一些简单的符号运算与图形处理的读者,MATLAB提供的图示化符号函数计算器是一个较好的选择。该计算器功能虽简单,但操作方便,可视性强。
进入funtool分析界面的方法是在MATLAB命令行窗口中输入funtool命令。在命令行窗口中输入:
funtool
弹出如图7-1所示的funtool分析界面。
图7-1 funtool分析界面
funtool分析界面由两个图形窗口(f和g)与一个函数运算控制窗口(funtool)组成。在任何时候,两个图形窗口只有一个处于激活状态。
函数运算控制窗口中的任何操作都只能对被激活的函数图形窗口起作用,即被激活的函数图像可随运算控制窗口的操作而做相应的变化。
(1)第1排按键只对f起作用,如求导、积分、简化、提取分子和分母、计算1/f及求反函数。
(2)第2排按键处理函数f和常数a之间的加、减、乘、除等运算。
(3)第3排的前4个按键对两个函数f和g之间进行算术运算;第5个按键求复合函数;第6个按键的功能是把f函数传递给g;最后一个按键swap用于实现f和g的互换。
(4)第4排按键用于对计算器自身进行操作。funtool计算器有一张函数列表fxlist。这7个按键的功能依次如下。
● Insert:把当前激活窗的函数写入列表。
● Cycle:依次循环显示fxlist中的函数。
● Delete:从fxlist列表中删除激活窗的函数。
● Reset:使计算器恢复到初始调用状态。
● Help:获得关于界面的在线提示说明。
● Demo:自动演示。
● Close:关闭对话框。
例7-35:funtool符号函数运算示例。
在命令行窗口中输入:
funtool
在funtool窗口的f函数右侧的文本输入框中输入sin(2*x),按Enter键,完成f函数的设置。f函数的图像如图7-2所示。
图7-2 sin(2x)函数图像
在funtool窗口的g函数右侧的文本输入框中输入cos(x)+sin(x),完成g函数的设置。g函数的图像如图7-3所示。
图7-3 cos(x)+sin(x)函数图像
设置完成的funtool如图7-4所示。
图7-4 funtool分析界面的参数设置
下面计算f函数与g函数的乘积。单击funtool中第3排第3个按钮,完成函数的乘积,乘积的函数图像显示在f窗口中,如图7-5所示。
图7-5 sin(2x)(cos(x)+sin(x))函数图像
计算f函数与g函数的复合函数。单击funtool中第3排第5个按钮,完成复合函数f(g),复合函数图像显示在f窗口中,如图7-6所示。
图7-6 复合函数图像
7.10.2 taylortool分析界面
在命令行窗口中输入:
taylortool
弹出如图7-7所示的taylortool分析界面。该界面用于观察函数f(x)在给定区间内被N阶泰勒多项式TN(x)逼近的情况。
图7-7 taylortool分析界面
函数f(x)的输入方式有两种:直接由指令taylortool(fx)引入;在界面的f(x)栏中直接输入表达式,然后按Enter键输入。
界面中N被默认设置为7,可以用其右侧的加减按钮改变阶次,也可以直接写入阶次。
界面中的a是级数的展开点,默认值为0。
函数的观察区被默认设置为(-2π,2π)。
例7-36:taylortool符号函数运算示例。
在命令行窗口中输入:
taylortool
在Taylor Tool图形框f(x)右侧的文本框中输入1+exp(x),N的值采用默认值7,求解函数1+ex的泰勒展开。展开以后的图形如图7-8所示。
图7-8 1+e x在0点的泰勒展开
在图形区可以看到函数的泰勒展开为:
TN(x)=x+x2 /2+x3 /6+x4 /24+x5 /120+x6 /720+…+2
下面来对函数1+ex进行4次方展开,并且在1处对函数进行4次方展开,展开的结果分别如图7-9和图7-10所示。
图7-9 1+ex在0点的4次方泰勒展开
图7-10 1+e x在1处的4次方泰勒展开
本章小结
本章介绍了MATLAB中的符号计算功能,主要讲解了符号对象及符号表达式的创建、运算及精度;符号表达式的显示、合并、展开、嵌套、分解及化简;符号表达式的替换;符号函数的复合函数和反函数操作;符号表达式的极限、微分、积分、级数求和及泰勒级数展开;符号函数的傅里叶变换、拉普拉斯变换及Z变换;符号代数方程求解;符号微分方程求解;符号分析的可视化过程。
通过本章的讲解,能够使读者掌握MATLAB所提供的符号计算和分析功能,为后面的学习打下基础,方便读者学习和理解MATLAB在数值计算及信号分析领域的应用。