THE START

相信小伙伴之前都看到关于哈工大MATLAB授权被取消的消息,意思就是无法进行商业化使用,如果用来发文章或其他商业用途就算侵权,关于更多小编就不多说了。其实除了MATLAB还有很多免费的软件或者编程工具可以替代,小编今天分享推荐两款免费的科学软件--Octave、SciLab。

Octave是MATLAB 的主要免费替代产品之一,对于习惯使用MATLAB的小伙伴来说很友好,因为它很大程度上兼容MATLAB脚本,其次就是文件占用空间少,相比于MATLAB最新版近20GB来说Octave简直就是Mini版。Scilab与Octave相比,Scilab对与MATLAB的(双向)语法兼容性的重视程度较低。FreeMat自2013年6月以来没有更新,所以这款就不做说明了。


1


GNU Octave

GNU Octave是具有高级编程语言的软件,主要用于数值计算。Octave可帮助解决数值上的线性和非线性问题,并使用与MATLAB最为兼容的语言进行其他数值实验。

MATLAB兼容性

  • 矩阵作为基本数据类型。
  • 内置对复数的支持。
  • 强大的内置数学函数和广泛的函数库。
  • 用户定义函数形式的可扩展性。

语法兼容性

  • 注释行可以以#字符和%字符为前缀;
  • 支持各种基于C的运算符++,-,+ =,* =,/ =;
  • 可以通过级联索引来引用元素而无需创建新变量,例如[1:10](3);
  • 字符串可以用双引号“字符和单引号'字符定义;
  • 当变量类型为单一(单精度浮点数)时,Octave会在单域(MATLAB在双域)中计算“ 平均值 ”,这会更快,但得出的结果却不那么准确;
  • 块也可以使用更特定的Control结构关键字来终止,例如endif,endfor,endwhile等。
  • 可以在脚本内和八度提示下定义函数。
  • 存在do-until循环(类似于C中的do-while)。

下载安装

1.百度搜索:Octave

gitlab平替_gitlab平替

2.点击download

gitlab平替_matlab中结束脚本运行_02

3.选择电脑系统

gitlab平替_matlab中结束脚本运行_03

4.小编下载Windows为例

选择版本,点击即可下载

gitlab平替_matlab复数信号_04

5.下载完成直接点击打开安装

gitlab平替_gitlab平替_05

6.点击next,修改安装位置,点击install

gitlab平替_matlab复数信号_06

7.安装完成

gitlab平替_matlab中结束脚本运行_07

软件使用

1.打开后界面如下,开始进行简单的使用测试。

界面真的很简洁,运行界面也和MATLAB一样,左边工作空间右边编辑器。命令框和编辑器是左右点击的,这个不太直观。

gitlab平替_matlab复数信号_08

2.如果进行简单的数据计算及处理,这个软件真的很好用,没有复杂的界面工具,上手比较容易,但是功能是真的有点少。

gitlab平替_gitlab平替_09

3.对比一下,MATLAB的工具包都集成在一块,Octave需要单独下载。

gitlab平替_matlab复数信号_10

4.点击帮助,点击Octave包

gitlab平替_gitlab平替_11

5.然后点击packages

gitlab平替_matlab中结束脚本运行_12

6.选择下载

gitlab平替_matlab中结束脚本运行_13

7.小编选择一个光学包测试

gitlab平替_gitlab平替_14

8.软件包是托管在sourceforge上边下载,这个网站小编之前推荐过。

gitlab平替_gitlab平替_15

9.安装方法也有提示,剩下的就交给你们表演了。

gitlab平替_matlab复数信号_16


2


Scilab

Scilab是一种免费且开源的跨平台数值计算软件包,是一种高级的,面向数字的编程语言。它可用于信号处理,统计分析,图像增强,流体动力学仿真,数值优化和建模,显式和隐式动力学系统的仿真,以及(如果安装了相应的工具箱)符号操作。

Scilab是MATLAB的两个主要开源替代方案之一,另一个是GNU Octave。Scilab不像Octave那样强调与MATLAB的语法兼容性,却很相似,以至于有些作者认为很容易转移技能在两个系统之间。

Scilab有许多有助于完成不同任务的工具箱:

  • Scilab图像处理工具箱(SIP)及其变体(例如SIVP)
  • Scilab小波工具箱
  • Scilab Java和.NET模块
  • Scilab远程访问模块

功能概述

按能力

  • 数值分析
  • 数据可视化
  • 算法开发
  • 应用部署

按功能领域 

  • 数学
  • 优化
  • 统计
  • 信号处理
  • 控制系统

下载安装

1.百度搜索Scilab,第一个就是 

链接:https://www.scilab.org/b

gitlab平替_matlab中结束脚本运行_17

2.选择版本

gitlab平替_gitlab平替_18

3.选择系统,点击即可开始下载,这个下载速度是真的慢,小编将安装包下载下来放在了后台,可高速下载。

gitlab平替_gitlab平替_19

4.下载完成后直接安装

gitlab平替_matlab中结束脚本运行_20

5.默认中文,一路默认安装至完成

gitlab平替_matlab中结束脚本运行_21

6.完成后直接运行

gitlab平替_gitlab平替_22

7.简单使用

软件界面如下,先来说下这个界面上手体验。编辑器单独窗口使用,右边则是变量浏览器以及浏览历史,则是源文件位置。

基础功能和MATLAB基本无差,其他和Octave一样没有集成的工具包,此外小编没有尝试更多功能来测试。剩下的交给你们了,如果需要小编可以后期再更新关于此软件的使用。

gitlab平替_matlab中结束脚本运行_23

8.代码运行

小编简单使用绘制一个三维图形,代码如下:

// Generate a vector from -pi/2 to pi/2 with 40 pointsu = linspace(-%pi/2, %pi/2, 40);// Generate a vector from 0 to 2pi with 20 pointsv = linspace(0, 2*%pi, 20);// Generate a sphere, default viewx = cos(u)'*cos(v);y = cos(u)'*sin(v);z = sin(u)'*ones(v);plot3d2(x, y, z); // the same shape but other values for theta and alpha anglesscf(); plot3d2(x, y, z, theta = 60, alpha = 80); // Define a vectort = -7 : .15 : 7;// Define a grid[x, y] = meshgrid(t, t);// Define your functionz = cos(x) .* cos(y) .* exp(-sqrt(x.^2 + y.^2)/3);// Plot default viewsurf(z)

结果图:

gitlab平替_matlab中结束脚本运行_24

9.官网教程

这个软件有比较详细的软件,涵盖类型较多。剩下的学习就交给你们了呀。

gitlab平替_matlab中结束脚本运行_25

最后

上边两款免费工具的基本功能够用,要真正替代还需要很长时间。关于国内软件,未来还有很长的路要走!希望未来人人都能用上咱们自己的或正规授权的软件,并冠上自己的名字!加油!最后建议有时间的可以多学习一些编程,总归是有好处的。


3


参考信息

1.Trappenberg, Thomas (2010). Fundamentals of Computational Neuroscience. Oxford University Press. p. 361. ISBN 978-0-19-956841-3.

2.Muhammad, A; Zalizniak, V (2011). Practical Scientific Computing. Woodhead Publishing. p. 3. ISBN 978-0-85709-226-7.

3.Megrey, Bernard A.; Moksness, Erlend (2008). Computers in Fisheries Research. Springer Science & Business Media. p. 345. ISBN 978-1-4020-8636-6.

4.Kapuno, Raul Raymond (2008). Programming for Chemical Engineers Using C, C++, and MATLAB. Jones & Bartlett Publishers. p. 365. ISBN 978-1-934015-09-4.

5. Alain Vande Wouwer; Philippe Saucez; Carlos Vilas (2014). Simulation of ODE/PDE Models with MATLAB®, OCTAVE and SCILAB: Scientific and Engineering Applications. Springer. pp. 114–115. ISBN 978-3-319-06790-2.

6.Octave官网:https://www.scilab.org

7.SciLab官网:https://www.gnu.org/software/octave/