Maxima 的绘图功能 1
最后更新于:2022-04-01 07:31:08
本文最初写于 2011-07-03于 sohu 博客,这次博客搬家一起搬到这里来。
版权所有,转载请注明出处。
maxima 本身不具有作图功能,但是依靠其他一些软件包,也可以做出专业的图形。
其中,最基本的绘图命令 plot2d 和 plot3d 命令利用 gnuplot 完成真正的作图功能。
Gnuplot是一个很强大的基于命令行的函数及数据作图程序,集成了计算、拟合、脚本编程等功能,
包括 Maxima,Octave 等在内的一些软件均使用 gnuplot 作为后台程序实现作图功能。
下面通过一系列的例子展开说明。
1 二维绘图命令
二维绘图是我们最常用到的做图方式,细分下去又可以分为函数绘图、数据点绘图和参数方程绘图。
下面依次进行介绍。
1.1 二维函数绘图
基本命令是plot2d,它的基本使用方式是:
plot2d (y(x), [x, min_x, max_x], [y, min_y, max_y], options, ...)
也就是函数表达式,加上变量取值范围,再加上一些控制作图的参数列表。
y的取值范围不是必需的。常用的控制参数我们在下面逐步介绍。先看一个例子:
| (%i1) | plot2d(sin(t),[t,0,10]); |
|-----|-----|
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-24_56a4233aa6375.PNG)
上面的例子是在单独的 gnuplot 窗口中显示。如果使用的是 wxMaxima ,还可以将结果直接显示在 wxMaxima 文档中:
| (%i2) | wxplot2d(sin(t),[t,0,10]); |
|-----|-----|
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-24_56a4233abbed0.PNG)
注意观察上面两个例子惟一的区别就是在 wxMaxima 中使用的是 wxplot2d 命令。其他都是相同的。
如果要限制 y 方向的显示范围,可以如下方式:
| (%i3) | wxplot2d(1/x,[x,0.1,2],[y,0,5]); |
|-----|-----|
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-24_56a4233acb2a4.PNG)
若同时有几个函数,plot2d 的使用方式是:
plot2d ([y_1(x), y_2(x), ...], [x, min_x, max_x], ..., options, ...)
这时候几个函数被放在了方括号中,也就是一个列表里。
下面是一个简单的例子:
| (%i4) | wxplot2d([sin(x),cos(x)],[x,0,10]); |
|-----|-----|
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-24_56a4233ad8d0d.PNG)
前面的例子都没有用到 option 选项。下面以几个例子说明如何加入 option。
首先是添加 legend:
| (%i5) | wxplot2d([sin(x),cos(x)],[x,0,10], [legend, "sin", "cos"]); |
|-----|-----|
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-24_56a4233ae7ce3.PNG)
在添加了 legend 的同时再添加 label:
| (%i6) | wxplot2d([sin(x),cos(x)],[x,0,10],[legend, "sin", "cos"],[xlabel, "X Label"], [ylabel, "Y Label"]); |
|-----|-----|
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-24_56a4233b031d5.PNG)