2757com 27

这方面的工具有很多开放源码实现,这篇文章是与 Linux 一起学习系列的一部分

这篇文章是与 Linux 一起学习系列的一部分:

Linux 上的数据可视化工具

5 种开放源码图形化工具简介

Linux® 上用来实现数据的图形可视化的应用程序有很多,从简单的 2-D 绘图到
3-D
制图,再到科学图形编程和图形模拟。幸运的是,这方面的工具有很多开放源码实现,包括
gnuplot、GNU Octave、Scilab、MayaVi、Maxima
等。每个工具都有自己的优缺点,并且都是针对不同的应用程序而设计的。对这些开放源码图形可视化工具进行一下探索,有助于我们更好地决定哪个工具最适合我
们的应用程序。

02757com 1
评论:

M. Tim
Jones
(mtj@mtjones.com),
资深软件工程师, Emulex

2006 年 11 月 27 日

  • 2757com 2内容

2757com 3

在 IBM Bluemix 云平台上开发并部署您的下一个应用。

开始您的试用

Gnuplot

  • 与 Linux 一起学习:
    学习类型
  • 与 Linux 一起学习:
    物理模拟
  • 与 Linux 一起学习:
    学习音乐
  • 与 Linux 一起学习:
    两个地理应用程序
  • 与 Linux 一起学习: 使用这些 Linux 应用来征服你的数学学习

可视化工具的简短列表

在本文中,将对很多流行的 Linux
数据可视化工具进行一下调查,并对其中一些工具进行更深入的探讨。例如,某个工具是否为进行数值计算而提供了一种语言?这个工具是交互式的还是提供了一种
批处理模式来单独进行操作?可以使用这个工具进行图像或数字信号处理吗?这个工具是否提供了语言绑定来支持与用户应用程序的集成(例如
Python、Tcl、Java
编程语言等)?另外还将展示一些工具的图形化处理能力。最后,将分析每个工具的长处,从而帮助我们确定哪个工具最适合完成计算任务或数据可视化。

在本文中所探索的开放源码工具包括(同时还给出了每个工具所使用的许可证):

  • Gnuplot(GPL)
  • GNU Octave(GPL)
  • Scilab(Scilab)
  • MayaVi(BSD)
  • 2757com,Maxima(GPL)

  在本文中,将对很多流行的 Linux
数据可视化工具进行一下调查,并对其中一些工具进行更深入的探讨。例如,某个工具是否为进行数值计算而提供了一种语言?这个工具是交互式的还是提供了一种批处理模式来单独进行操作?可以使用这个工具进行图像或数字信号处理吗?这个工具是否提供了语言绑定来支持与用户应用程序的集成(例如
Python、Tcl、Java
编程语言等)?另外还将展示一些工具的图形化处理能力。最后,将分析每个工具的长处,从而帮助我们确定哪个工具最适合完成计算任务或数据可视化。

Linux
提供了大量的教育软件和许多优秀的工具来帮助各种年龄段和年级的学生学习和练习各种各样的习题,这通常是以交互的方式进行。“与
Linux
一起学习”这一系列的文章则为这些各种各样的教育软件和应用提供了一个介绍。

Gnuplot

Gnuplot 是一个非常好的可视化工具,它从 1986 年开始就存在了。如果没有
gnuplot 的图,就很难阅读论文。尽管 gnuplot
是命令行驱动的,但是它也在不断发展,现在也可以支持很多非交互式的应用程序了,例如它可以作为一个
GNU Octave 的绘图引擎使用。

gnuplot 具有很好的可移植性,可以在 UNIX®、Microsoft® Windows®、 Mac OS®
X 和很多其他平台上运行。它可以支持从 postscript 到新近的 PNG
等极为广泛的输出格式。

gnuplot
可以以批处理模式进行操作,提供了一个命令脚本来生成一个图形,也是以非交互式模式来运行的,这让我们可以尝试一下它的特性来了解它们绘图的效果。

在 gnuplot 中有一个对应于 UNIX
的数学库的标准的数学库可以使用。函数的参数支持整型、实型和复型。可以将数学库配置成弧度或角度(默认为弧度)。

为了进行绘图,gnuplot 可以使用 plot 命令生成 2-D 图形,或使用 splot
命令生成 3-D 图形(作为 2-D projection)。使用 plot 命令,gnuplot
可以在直角二维坐标系中进行操作。splot
命令默认使用的是笛卡儿坐标系,不过也可以支持球面或柱面坐标系。也可以在图形中绘制等高线(如下面的图
1 所示)。有一种新风格的绘图 pm3d 可以支持绘制使用调色板进行映射的 3-D
和 4D 数据作为地图或地表图来使用。

下面是一个简单的 gnuplot 例子,它给出了一个具有等高线和隐线消除的 3-D
图形。清单 1 给出了所使用的 gnuplot 命令,图 1 给出了所生成的图形结果。

  在本文中所探索的开放源码工具包括(同时还给出了每个工具所使用的许可证):

2757com 4

清单 1. 简单的 gnuplot 函数图
set samples 25
set isosamples 26
set title "Test 3D gnuplot"
set contour base
set hidden3d offset 1
splot [-12:12.01] [-12:12.01] sin(sqrt(x**2+y**2))/sqrt(x**2+y**2)

清单 1 充分显示了 gnuplot 的命令集是多么简单。采样速度和绘图密度是由
samples 和 isosamples 决定的,标题是由 title
参数为图形提供的。同时还启用了基本的等高线和隐线消除特性,最终的绘图是利用
splot 命令使用数学库内部的函数来创建的。结果如图 1 所示。

Gnuplot

数学是计算机的核心。如果有人预期一个类如 GNU/ Linux
这样的伟大的操作系统精确而严格,那么这就是数学所起到的作用。如果你在寻求一些数学应用程序,那么你将不会感到失望。Linux
提供了很多优秀的工具使得数学看起来和你曾经做过的一样令人畏惧,但实际上他们会简化你使用它的方式。

图 1. gnuplot 的一个简单绘图

2757com 5

除了创建函数图之外,gnuplot
还可以很好地对文件中包含的图形进行绘图。考虑如清单 2 所示的 x/y
数据对(这个文件的一个简短版本)。这个文件中给出的数据对表示一个两维空间中的
x 和 y 轴的数据。

  Gnuplot 是一个非常好的可视化工具,它从 1986 年开始就存在了。如果没有
gnuplot 的图,就很难阅读论文。尽管 gnuplot
是命令行驱动的,但是它也在不断发展,现在也可以支持很多非交互式的应用程序了,例如它可以作为一个
GNU Octave 的绘图引擎使用。

Gnuplot

Gnuplot
是一个适用于不同平台的命令行脚本化和多功能的图形工具。尽管它的名字中带有“GNU”,但是它并不是
GNU
操作系统的一部分。虽然不是自由授权,但它是免费软件(这意味着它受版权保护,但免费使用)。

要在 Ubuntu 系统(或者衍生系统)上安装 gnuplot,输入:

sudo apt-get install gnuplot gnuplot-x11

进入一个终端窗口。启动该程序,输入:

gnuplot

你会看到一个简单的命令行界面:

2757com 6

在其中您可以直接输入函数开始。绘图命令将绘制一个曲线图。

输入内容,例如,

plot sin(x)/x

随着gnuplot的提示,将会打开一个新的窗口,图像便会在里面呈现。

2757com 7

你也可以即时设置设置这个图的不同属性,比如像这样指定“title”

plot sin(x) title 'Sine Function', tan(x) title 'Tangent'

2757com 8

你可以做的更深入一点,使用splot命令绘制3D图形:

splot sin(x*y/20)

2757com 9

这个图形窗口有几个基本的配置选项,

2757com 10

但是gnuplot的真正力量在于在它的命令行和脚本功能,gnuplot更完整的文档在Duke大学网站上面找到,带有这个了不起的教程的原始版本。

清单 2. gnuplot 的示例数据文件(data.dat)
88 99
79 98
76 89
60 85
...
60 22

如果希望在两维空间中绘制这些数据,并将每个数据点使用一条线连接起来,就可以使用清单
3 给出的 gnuplot 脚本。

  gnuplot 具有很好的可移植性,可以在 UNIX®、Microsoft® Windows®、 Mac
OS® X 和很多其他平台上运行。它可以支持从 postscript 到新近的 PNG
等极为广泛的输出格式。

Maxima

Maxima 是一个源于 Macsyma
开发的一个计算机代数系统,根据它的 SourceForge 页面所述:

“Maxima
是一个操作符号和数值表达式的系统,包括微分,积分,泰勒级数,拉普拉斯变换,常微分方程,线性方程组,多项式,集合,列表,向量,矩阵和张量等。Maxima
通过精确的分数,任意精度的整数和可变精度 class=”wp_keywordlink”>浮点数产生高精度的计算结果。Maxima
可以以二维和三维的方式绘制函数和数据。“

大多数Ubuntu衍生系统都有 Maxima
二进制包以及它的图形界面,要安装这些软件包,输入:

sudo apt-get install maxima xmaxima wxmaxima

在终端窗口中,Maxima 是一个没有什么 UI 的命令行工具,但如果你开始
wxmaxima,你会进入一个简单但功能强大的图形用户界面。

2757com 11

你可以通过简单的输入来开始。(提示:回车会增加更多的行,如果你想计算一个表达式,使用“Shift

  • Enter”。)

Maxima 可以用于一些简单的问题,因此也可以作为一个计算器:

2757com 12

以及一些更复杂的问题:

2757com 13

它使用gnuplot使得绘制简单:

2757com 14

或者绘制一些复杂的图形。

2757com 15

(它需要 gnuplot-X11 的软件包来显示它们。)

除了将表达式表示为图形,Maxima 也可以用 latex
格式导出它们,或者通过右键快捷菜单进行一些常用操作.

2757com 16

不过其主菜单还是提供了大量重磅功能,当然 Maxima
的功能远不止如此,这里也有一个广泛使用的在线文档。

清单 3. 对清单 2 中的数据进行绘图所使用的 Gnuplot 脚本
set title "Sample data plot"
plot 'data.dat' using 1:2 t 'data points', \
  "data.dat" using 1:2 t "lines" with lines

结果如图 2 所示。注意 gnuplot
自动给出了轴的刻度,但是如果需要标注图形的位置,就可以对其进行控制。

  gnuplot
可以以批处理模式进行操作,提供了一个命令脚本来生成一个图形,也是以非交互式模式来运行的,这让我们可以尝试一下它的特性来了解它们绘图的效果。

总结

数学不是一门容易的学科,这些在 Linux
上的优秀软件也没有使得数学更加容易,但是这些应用使得使用数学变得更加的简单和方便。以上两种应用都只是介绍一下
Linux
所提供的。如果你是认真从事数学和需要更多的功能与丰富的文档,那你更应该看看这些
Mathbuntu 项目。

图 2. 在 gnuplot 中使用数据文件进行简单的绘图

2757com 17

Gnuplot 是一个很好的可视化工具,它非常出名,是很多 GNU/Linux
发行版的一部分。然而,如果希望进行基本的数据可视化和数值计算,那么 GNU
Octave 可能是我们希望寻找的工具。

回页首

  在 gnuplot 中有一个对应于 UNIX
的数学库的标准的数学库可以使用。函数的参数支持整型、实型和复型。可以将数学库配置成弧度或角度(默认为弧度)。

GNU Octave

GNU Octave 是一种高级语言,主要设计用来进行数值计算,它是 MathWorks
出品的 Matlab 商业软件的一个强有力的竞争产品。除了 gnuplot
所提供的简单命令集之外,Octave
还为进行数学编程提供了一种丰富的语言。我们甚至可以使用 C 或 C++
语言编写自己的应用程序,然后与 Octave 进行交互。

Octave 最初是在 1992
年作为化学反应堆设计教科书的一个辅助软件而编写的。其作者希望能够帮助学生解决反应堆的设计问题,而不用调试
Fortran
程序。结果获得了一种非常有用的语言,并为解决数值问题提供了交互式环境。

Octave 可以以一种脚本化模式非交互地进行操作,或者通过 C 和 C++
语言绑定进行操作。Octave 本身就有一种非常丰富的语言,该语言看起来与 C
语言非常类似,并有一个很大的数学库,包括信号和图像处理、音频处理以及控制理论所使用的一些特殊函数。

由于 Octave 使用了 gnuplot 作为其后端实现,因此使用 gnuplot
可以绘制的所有东西都可以使用 Octave 进行绘制。Octave
的确有一种更丰富的语言来进行计算,它有很多明显的优点,但是仍然有 gnuplot
的一些限制。

在下面这个 Octave-Forge Web
站点上提供的例子中(SimpleExamples),绘制了一个 Lorentz Strange
Attractor。清单 4 给出了在使用 Cygwin 的 Windows 平台上 Octave
所使用的交互式对话框。这个例子展示了 lsode
的用法,这是一个常见的微分方程解算器。

  为了进行绘图,gnuplot 可以使用 plot 命令生成 2-D 图形,或使用 splot
命令生成 3-D 图形(作为 2-D projection)。使用 plot 命令,gnuplot
可以在直角二维坐标系中进行操作。splot
命令默认使用的是笛卡儿坐标系,不过也可以支持球面或柱面坐标系。也可以在图形中绘制等高线(如下面的图
1 所示)。有一种新风格的绘图 pm3d 可以支持绘制使用调色板进行映射的 3-D 和
4D 数据作为地图或地表图来使用。

清单 4. 使用 Octave 呈现 Lorentz Strange Attractor
GNU Octave, version 2.1.50 
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 John W. Eaton.
This is free software; see the source code for copying conditions.
There is ABSOLUTELY NO WARRANTY; not even for MERCHANTIBILITY or
FITNESS FOR A PARTICULAR PURPOSE.  For details, type `warranty'.

Please contribute if you find this software useful.
For more information, visit http://www.octave.org/help-wanted.html

Report bugs to <bug-octave&bevo.che.wisc.edu>.

>> function y = lorenz( x, t )
y = [10 * (x(2) - x(1));
x(1) * (28 - x(3));
x(1) * x(2) - 8/3 * x(3)];
endfunction
>> x = lsode("lorenz", [3;15;1], (0:0.01:25)');
>> gset parametric
>> gsplot x
>>

图 3 给出的图是清单 4 中 Octave 代码的输出结果。

  下面是一个简单的 gnuplot 例子,它给出了一个具有等高线和隐线消除的
3-D 图形。清单 1 给出了所使用的 gnuplot 命令,图 1
给出了所生成的图形结果。

图 3. 使用 Octave 绘制的 Lorentz 图

2757com 18

GNU Octave(与 gnuplot 一致)可以使用 multiplot
特性在一个页面上呈现多个图形。使用这个特性,就可以定义要创建多少图形,然后使用
subwindow
命令来定制特定的图形。在定义好子窗口之后,就可以正常地生成自己的图形,然后再跳到下一个子窗口中(如清单
5 所示)。

  清单 1. 简单的 gnuplot 函数图

清单 5. 在 Octave 中生成多个图形
>> multiplot(2,2)
>> subwindow(1,1)
>> t=0:0.1:6.0
>> plot(t, cos(t))
>> subwindow(1,2)
>> plot(t, sin(t))
>> subwindow(2,1)
>> plot(t, tan(t))
>> subwindow(2,2)
>> plot(t, tanh(t))

所生成的多图页面如图 4
所示。这是将相关图形搜集在一起进行比较和对比的一种很好的特性。

  清单 1 充分显示了 gnuplot 的命令集是多么简单。采样速度和绘图密度是由
samples 和 isosamples 决定的,标题是由 title
参数为图形提供的。同时还启用了基本的等高线和隐线消除特性,最终的绘图是利用
splot 命令使用数学库内部的函数来创建的。结果如图 1 所示。

图 4. 使用 GNU Octave 绘制多图

2757com 19

我 们可以认为 Octave 是一种使用 gnuplot
作为后台实现来进行可视化的高级语言。它提供了丰富的数学库,是 Matlab
的一个很好的免费替换产品。可以很容易利用用户开发的用来进行语音处理、优化、符号计算等的包对它进行扩展。Octave
在某些 GNU/Linux 的发行版中都有,例如 Debian,也可以在使用 Cygwin 的
Windows 和 Mac OS X 上使用。有关 Octave 的更多信息请参阅
参考资料
一节的内容。

回页首

  图 1. gnuplot 的一个简单绘图

Scilab

Scilab 在启用数值计算和可视化方面都与 GNU Octave 非常类似。 Scilab
是世界上广泛存在的工程和科学应用程序所使用的一种解释器和高级语言。

Scilab 诞生于 1994 年,它是由法国的 INRIA(Institut national de
recherche en informatique et en automatique)和 ENPC(École Nationale
des Ponts et Chaussées)设计的。从 2003 年开始 Scilab 开始由 Scilab
Consortium 进行维护。

Scilab 包括一个很大的数学函数库,可以利用使用 C 和 Fortran
之类的高级语言编写的程序进行扩充。它还有重载数据类型和操作的能力。它包括一个集成的高级语言,不过这种语言与
C 语言稍微有些区别。

Scilab 中有很多工具包提供了 2-D 和 3-D
的图形动画、优化、统计、图标和网络、信号处理、混合动态系统模拟和仿真以及其他许多由社区所贡献的功能。

在大部分 UNIX 系统上都可以使用 Scilab,在较新的 Windows
操作系统上也可以使用。与 GNU Octave 一样, Scilab
也有很好的文档。由于它是一个欧洲的项目,因此还可以找到很多使用除英语之外的其他语言所编写的文档和文章。

在启动 Scilab 之后,就会显示一个窗口让我们可以与之进行交互(如图 5
所示)。

2757com 20

图 5. 与 Scilab 进行交互

2757com 21

在这个例子中,先是创建了一个向量(t),其值的范围从 0 到 2PI(步进大小为
0.2)。然后生成了一个 3-D 图形(使用 z=f(x,y), 或者说是 xi,yi
点处的一个表面)。图 6 给出了所生成的图形。

  除了创建函数图之外,gnuplot
还可以很好地对文件中包含的图形进行绘图。考虑如清单 2 所示的 x/y
数据对(这个文件的一个简短版本)。这个文件中给出的数据对表示一个两维空间中的
x 和 y 轴的数据。

图 6. 图 5 中的命令所生成的 Scilab 图

2757com 22

Scilab
中包括很多库和函数,它们可以使用最少的复杂性来绘制图形。下面是一个生成简单三维柱状图的例子:

-->hist3d(5*(rand(5,5));

首先,rand(5,5) 会构建一个 5,5
大小的矩阵,其中包含了一些随机值(其最大值为 5)。这个矩阵被传递给函数
hist3d。所生成的柱状图如图 7 所示。

  清单 2. gnuplot 的示例数据文件(data.dat)

图 7. 生成随机的三维柱状图

2757com 23

Scilab 和 Octave 非常类似。它们都具有很大的社区参与基础。Scilab 是使用
Fortran 77 编写的,而 Octave 则是使用 C++ 编写的。Octave 使用 gnuplot
来实现可视化;Scilab 则提供了自己的库。如果非常熟悉 Matlab,那么 Octave
就是一个很好的选择,因为它努力实现了与 Matlab 的兼容性。Scilab
包括了很多数学函数,因此非常适合进行信号处理。如果仍然不确定要使用哪个工具,可以全部尝试一下。它们都是很好的工具,可以使用它们来完成不同的任务。

回页首

  如果希望在两维空间中绘制这些数据,并将每个数据点使用一条线连接起来,就可以使用清单
3 给出的 gnuplot 脚本。

MayaVi

MayaVi
在梵语中的意思是魔术师,它是一种数据可视化工具,绑定了具有强大可视化工具包(VTK)的
Python 来进行图形化显示。MayaVi 还提供了一个使用 Tkinter
模块开发的图形用户界面(GUI)。Tkinter 是一个 Tk 界面,通常都与 Tcl
一起使用。

MayaVi 最初是为 Computational Fluid
Dynamics(CFD)作为一个可视化工具而开发的。当人们认识到它在其他领域中的效用之后,它就作为一种通用科学数据可视化工具重新进行了设计。

MayaVi 背后的魔力来自于 VTK。VTK
是一个用来进行数据可视化和图像处理的开放源码系统,它在科学社区中被广泛地使用。VTK
通过为 Tcl/Tk、Java 编程语言以及 Python 加上 C++
库所提供的脚本化接口而封装了很多功能。VTK
在很多操作系统上都是可移植的,包括 UNIX、Windows 和 MAC OS X。

围绕 VTK 的 MayaVi 外壳可以作为一个 Python 模块从其他 Python
程序中导入,并通过 Python 解释器来编写脚本。MayaVi 所提供的 tkinter GUI
允许进行过滤器的配置和应用,以及在可视化基础上渲染一些灯光效果。

图 8 是在 Windows 平台上使用 MayaVi 进行可视化的一个例子。

  清单 3. 对清单 2 中的数据进行绘图所使用的 Gnuplot 脚本

图 8. 使用 MayaVi/VTK 显示的 3-D 可视化(心脏 CT 扫描图)

2757com 24

MayaVi 是在 Python 脚本语言中扩展 VTK 的一个有趣例子。

回页首

  结果如图 2 所示。注意 gnuplot
自动给出了轴的刻度,但是如果需要标注图形的位置,就可以对其进行控制。

Maxima

Maxima 是一个符号和数值计算程序,它是 Octave 和 Scilab 的血液。Maxima
最初的开发团队开始于 19 世纪 70 年代的
MIT(麻声理工学院),现在还继续在维护。最初的版本(一个计算机代数系统)名为
DOE Macsyma,它开辟了后来开发的更知名的应用程序(例如
Mathematica)的道路。

Maxima
提供了一组所期望的功能集(例如微积分、解析线性系统和非线性等式集)以及符号计算能力。在
Maxima 中还可以找到 Lisp 的一些线索(从引用之类的函数、mapapply
中)。Maxima 是使用 Lisp 编写的,可以在 Maxima 会话中执行 Lisp 代码。

Maxima
具有很好的在线帮助系统,它是基于超文本的。例如,如果希望了解某个特定的
Maxima 函数是如何工作的,那么就可以简单地输入
example( desolve ),然后它会提供很多样例用法。

Maxima
还有一些有趣的特性,例如规则和模式。这些规则和模式都是由用来简化表达式的程序所使用的。规则可以用于交换和非交换代数。

Maxima 与 Octave 和 Scilab
非常类似:其中解释器都可以用来与用户进行交互,结果都会直接在同一个窗口中提供,或者也可以在另外一个窗口中进行显示。在图
9 中,请求绘制一个简单的 3-D 图形。

  图 2. 在 gnuplot 中使用数据文件进行简单的绘图

图 9. 与 Maxima 进行交互

2757com 25

所生成的图形如图 10 所示。

2757com 26

图 10. 图 9 的命令所生成的 Maxima 图形

2757com 27

回页首

  Gnuplot 是一个很好的可视化工具,它非常出名,是很多 GNU/Linux
发行版的一部分。然而,如果希望进行基本的数据可视化和数值计算,那么 GNU
Octave 可能是我们希望寻找的工具。

展望

在 本文中介绍了几个开放源码 GNU/Linux 可视化工具。其他有用的工具还包括
Gri、PGPLOT、SciGraphica、plotutils、NCAR Graphics 和
ImLib3D。这些都是开放源码的,也就是说您可以看到它们是如何工作的;如果愿意,也可以对它们进行修改。另外,如果您正在寻找一个很好的图形仿真环
境,那就请查看一下与 OpenGL 一起使用的 Open Dynamics Engine(ODE)。

具体的需要决定了哪种工具最适合
使用。如果希望使用一个具有很多可视化算法的强大的可视化系统,那么 MayaVi
就是所要寻找的工具。对于具有可视化功能的数值计算来说,GNU Octave 和
Scilab 都非常适合。如果需要符号计算能力,那么 Maxima
就是一个非常好的选择。最后(但并非不重要),如果所需要的只是一些基本的绘图功能,那么
gnuplot 就可以很好地满足这一需求。

GNU Octave

GNU Octave

  GNU Octave 是一种高级语言,主要设计用来进行数值计算,它是 MathWorks
出品的 Matlab 商业软件的一个强有力的竞争产品。除了 gnuplot
所提供的简单命令集之外,Octave
还为进行数学编程提供了一种丰富的语言。我们甚至可以使用 C 或 C++
语言编写自己的应用程序,然后与 Octave 进行交互。

  Octave 最初是在 1992
年作为化学反应堆设计教科书的一个辅助软件而编写的。其作者希望能够帮助学生解决反应堆的设计问题,而不用调试
Fortran
程序。结果获得了一种非常有用的语言,并为解决数值问题提供了交互式环境。

  Octave 可以以一种脚本化模式非交互地进行操作,或者通过 C 和 C++
语言绑定进行操作。Octave 本身就有一种非常丰富的语言,该语言看起来与 C
语言非常类似,并有一个很大的数学库,包括信号和图像处理、音频处理以及控制理论所使用的一些特殊函数。

  由于 Octave 使用了 gnuplot 作为其后端实现,因此使用 gnuplot
可以绘制的所有东西都可以使用 Octave 进行绘制。Octave
的确有一种更丰富的语言来进行计算,它有很多明显的优点,但是仍然有 gnuplot
的一些限制。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章