VibInfo 发表于 2015-9-29 08:10

Maple 18二维绘图命令的问题及解决办法

Maple是一款数学软件,号称具有强大的符号运算功能,如果要做复杂的公式推导,它确实可以帮上个大忙。另外,它的易用性也确实可以减少初学者的迷茫。此处所谓易用性,是指用户要解决的一般问题,都可以较快地在软件自带的帮助文档中找到相应的范例,用户只需要依照范例依葫芦画瓢就可得到自己想要的结果,根本不需要去看一大堆无用的东西,因而非常简单易用。

然而,Maple的帮助文档似乎也并非完美,有时会出现依了葫芦去画不出瓢的情况。Maple 18版的二维绘图命令就是其中一个例子。根据Maple 18的帮助文档,二维绘图有两种方式:一种是直接在表达式上点击左键,在弹出的命令菜单中选击“Plots > 2-D Plot”就可以了;第二种方法就是对表达式直接使用plot命令。但当你对帮助文档中所有给出的范例都照着做时,却发现图画不出来。应用第一种方法时,只看到坐标轴,没看到图线,如图1所示。使用smartplot绘图命令结果与此结果一样。应用第二种方法时,却出现“Error, (in plot) incorrect first argument xxxx”的错误提示,其中,“xxxx”是plot命令中想要画图的表达式。此错误提示,帮助文档中没有,网上也找不到答案。但如果按照帮助文档三维绘图的例子去做,图却可以画出来。那究竟是什么问题、该怎么办、还能不能画出二维图来呢?

图1 表达式右键画只画出坐标轴,画不出数学曲线

幸好天无绝人之路,在经历了艰苦、紧张的折腾之后,发现有两种替换的方法可将maple 18的二维图画出来。第一种方法就是借用三维的绘图命令“plot3d”来绘二维图;第二种方法就是借用隐函数的绘图命令“implicitplot”来绘二维图。

借用以上两种方法来绘制二维图时都要对绘制的表达式做相应的处理。在第一种方法中,要将原二维的表达式乘上一个辅助变量,如y,然后让辅助变量的取值范围为从1到1,如y=1..1;或者将原二维的表达式加上一个辅助变量,如y,然后让辅助变量的取值范围为从0到0,如y=0..0。这两种处理方式不防分别称之为乘1法和加0法。任何表达式乘1或加0都还是原来的表达式。以下是借用三维绘图命令来绘制z=x^2二维图的具体命令及结果。

使用乘1法的三维绘图命令为:

plot3d((x^2)*y, x = -10 .. 10, y = 1 .. 1);

画出的结果如图2所示:

图2 使用乘1法处理的三维命令绘出的二维图


使用加0法的三维绘图命令为:

plot3d((x^2)+y, x = -10 .. 10, y = 0 .. 0);

画出的结果如图3所示:

图3 使用加0法处理的三维命令绘出的二维图



虽然借用三维的命令是把二维的图画出来了,但由于图是画在三维的坐标轴中,给人的感觉怎么都有三维的影子,不是很直观舒服。哪到底有没有更好的办法呢?当然是有了,以上提到的借用隐函数绘图命令就可以得到二维绘图命令得到的效果。以下就是借用隐函数绘图命令绘制以上二维图的具体命令及结果。

借用隐函数绘图命令来绘制以上二维图具体为:

implicitplot(x^2 = y, x = -10 .. 10, y = 0 .. 100);

画出的结果如图4所示:

图4 借用隐函数绘图命令绘出的二维图

此处补充说明一下什么叫做隐函数。所谓隐函数就是不直接用一个变量去表达其他变量的方程表达形式,相反,显式函数就是直接用一个变量去表达其他变量的方程表达式。如单位圆方程的隐函数为:x^2+y^2=1,显函数为:y=±sqrt(1-x^2)。

单位圆的隐函数绘图命令为:

implicitplot(x^2+y^2 = 1, x = -1 .. 1, y = -1 .. 1)

给出的结果如图5所示:

图5 用隐函数命令绘出的单位圆

由上可知,使用隐函数绘图命令可完美解决maple 18原二维绘图命令不能绘制二维图的问题。
页: [1]
查看完整版本: Maple 18二维绘图命令的问题及解决办法