THE START
相信小伙伴之前都看到关于哈工大MATLAB授权被取消的消息,意思就是无法进行商业化使用,如果用来发文章或其他商业用途就算侵权,关于更多小编就不多说了。其实除了MATLAB还有很多免费的软件或者编程工具可以替代,小编今天分享推荐两款免费的科学软件--Octave、SciLab。
Octave是MATLAB 的主要免费替代产品之一,对于习惯使用MATLAB的小伙伴来说很友好,因为它很大程度上兼容MATLAB脚本,其次就是文件占用空间少,相比于MATLAB最新版近20GB来说Octave简直就是Mini版。Scilab与Octave相比,Scilab对与MATLAB的(双向)语法兼容性的重视程度较低。FreeMat自2013年6月以来没有更新,所以这款就不做说明了。
1GNU Octave
GNU Octave是具有高级编程语言的软件,主要用于数值计算。Octave可帮助解决数值上的线性和非线性问题,并使用与MATLAB最为兼容的语言进行其他数值实验。
MATLAB兼容性
矩阵作为基本数据类型。
内置对复数的支持。
强大的内置数学函数和广泛的函数库。
用户定义函数形式的可扩展性。
语法兼容性
注释行可以以#字符和%字符为前缀;
支持各种基于C的运算符++,-,+ =,* =,/ =;
可以通过级联索引来引用元素而无需创建新变量,例如[1:10](3);
字符串可以用双引号“字符和单引号'字符定义;
当变量类型为单一(单精度浮点数)时,Octave会在单域(MATLAB在双域)中计算“ 平均值 ”,这会更快,但得出的结果却不那么准确;
块也可以使用更特定的Control结构关键字来终止,例如endif,endfor,endwhile等。
可以在脚本内和八度提示下定义函数。
存在do-until循环(类似于C中的do-while)。
下载安装
1.百度搜索:Octave
2.点击download
3.选择电脑系统
4.小编下载Windows为例
选择版本,点击即可下载
5.下载完成直接点击打开安装
6.点击next,修改安装位置,点击install
7.安装完成
软件使用
1.打开后界面如下,开始进行简单的使用测试。
界面真的很简洁,运行界面也和MATLAB一样,左边工作空间右边编辑器。命令框和编辑器是左右点击的,这个不太直观。
2.如果进行简单的数据计算及处理,这个软件真的很好用,没有复杂的界面工具,上手比较容易,但是功能是真的有点少。
3.对比一下,MATLAB的工具包都集成在一块,Octave需要单独下载。
4.点击帮助,点击Octave包
5.然后点击packages
6.选择下载
7.小编选择一个光学包测试
8.软件包是托管在sourceforge上边下载,这个网站小编之前推荐过。
9.安装方法也有提示,剩下的就交给你们表演了。
2Scilab
Scilab是一种免费且开源的跨平台数值计算软件包,是一种高级的,面向数字的编程语言。它可用于信号处理,统计分析,图像增强,流体动力学仿真,数值优化和建模,显式和隐式动力学系统的仿真,以及(如果安装了相应的工具箱)符号操作。
Scilab是MATLAB的两个主要开源替代方案之一,另一个是GNU Octave。Scilab不像Octave那样强调与MATLAB的语法兼容性,却很相似,以至于有些作者认为很容易转移技能在两个系统之间。
Scilab有许多有助于完成不同任务的工具箱:
Scilab图像处理工具箱(SIP)及其变体(例如SIVP)
Scilab小波工具箱
Scilab Java和.NET模块
Scilab远程访问模块
功能概述
按能力
数值分析
数据可视化
算法开发
应用部署
按功能领域
数学
优化
统计
信号处理
控制系统
下载安装
1.百度搜索Scilab,第一个就是
链接:https://www.scilab.org/b
2.选择版本
3.选择系统,点击即可开始下载,这个下载速度是真的慢,小编将安装包下载下来放在了后台,可高速下载。
4.下载完成后直接安装
5.默认中文,一路默认安装至完成
6.完成后直接运行
7.简单使用
软件界面如下,先来说下这个界面上手体验。编辑器单独窗口使用,右边则是变量浏览器以及浏览历史,则是源文件位置。
基础功能和MATLAB基本无差,其他和Octave一样没有集成的工具包,此外小编没有尝试更多功能来测试。剩下的交给你们了,如果需要小编可以后期再更新关于此软件的使用。
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)
结果图:
9.官网教程
这个软件有比较详细的软件,涵盖类型较多。剩下的学习就交给你们了呀。
最后
上边两款免费工具的基本功能够用,要真正替代还需要很长时间。关于国内软件,未来还有很长的路要走!希望未来人人都能用上咱们自己的或正规授权的软件,并冠上自己的名字!加油!最后建议有时间的可以多学习一些编程,总归是有好处的。
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/
4获取全部资源
微信关注“各种学习资源”,后台发送“202006177”