What's the best MATLAB equivalent? (open source or otherwise free)

简介:

What is the best open-source (or otherwise free) MATLAB equivalent, in your opinion, and why?

Something with many built-in functions relevant to engineering and science, and a variety of good graphing capabilities. Syntax close to MATLAB's is a bonus.

I've invested some time getting into SciLab, but in retrospect I'm not too enthralled. I find that the built-in functions are written in a somewhat clunky way, and that the documentation is rather cryptic (i.e. more so than your average software documentation).

P.S. I'm aware of this page. I'm looking for positive or critical comments regarding this range of options.
最佳答案 : 
My experience is relatively limited, but I've had some very good results from Octave and from SciPy/matplotlib. Octave has a syntax that is virtually the same as MATLAB's and it is therefore very easy to get started with. However, I prefer python as a language to MATLAB and, for plotting at least, the syntax is close enough to MATLAB's to be simple to get you started. Also, the graph plotting quality of matplotlib is among the best I've come across and I've found nothing that compares to its tools for scrolling and zooming around data plotted on a graph.
The main disadvantage of the python tools (SciPy/NumPy/matplotlib) is that the install path is less than trivial.

以上是stackoverflow中一位朋友问到的问题.
由于matlab是个商业软件,  所以如果能找到与matlab功能类似的开源产品也是比较好的.
另外一篇文章描述了3款替代matlab的开源软件
3 Free open source alternatives to MATLAB
Computer Science and Communication Engineering students must be familiar with a mathematical software called MATLAB. MATLAB is a numerical computing software and programming language that is often used in various mathematical analysis and problem solving like matrix manipulation, plotting of functions and data, implementation of algorithms, creation of user interfaces etc. MATLAB is a proprietary product of The MathWorks and a single student license will set you back by $99.  Even though there are many free numerical analysis software available, your university is most likely to use MATLAB and a student who uses MATLAB all day at the university would want the same programs to run on his home computer. Hence compatibility of these free solutions with MATLAB is important.

Let us look at three free alternatives to MATLAB that is compatible with it, to a large extent.

第一款 octave
Whats the best MATLAB equivalent? (open source or otherwise free) - 德哥@Digoal - PostgreSQL
Octave is an open source program for numerical computation which is mostly compatible with MATLAB. Its syntax is very similar to MATLAB, and a carefully programmed script will run on both Octave and MATLAB. Though most MATLAB programs will run on Octave, the reverse is not always true. This is because Octave's parser goes above and beyond MATLAB's and supports syntaxes and commands not supported by MATLAB. For example, Octave supports both single and double quote while MATLAB supports only single quote. Octave supports the printf command while MATLAB doesn't. All compatibility issues are described in there wiki.

第二款 scilab
Whats the best MATLAB equivalent? (open source or otherwise free) - 德哥@Digoal - PostgreSQL
Scilab, another numerical computational package, is similar in functionality to MATLAB, but is open source and hence available at no cost. The program enables users to compute a wide range of mathematical operations from relatively simple operations such as multiplication to high level operations such as correlation and complex arithmetic. Like MATLAB, Scilab has many industrial and academic uses and is often used for signal processing, statistical analysis, image enhancement, fluid dynamics simulations etc.

Scilab is not entirely compatible with MATLAB but has a converter for source code conversion from MATLAB to Scilab. Scilab also includes a package called Scicos for modeling and simulation of dynamical systems.

第三款 freemat
Whats the best MATLAB equivalent? (open source or otherwise free) - 德哥@Digoal - PostgreSQL
The third open source free numerical computing environment similar to MATLAB is FreeMat. FreeMat supports many MATLAB functions and some IDL functionality and additional features like codeless interface to external C, C++, and Fortran code, further parallel distributed algorithm development and some extended volume and 3D visualization capabilities. FreeMat developers put the software's compatibility with MATLAB at 95% which is as good as MATLAB itself, provide you don't use all MATLAB functions, which isn't likely to happen in most cases.

So there you are, you've got three replacement for MATLAB. See if you can convince your institute to embrace any of these.

除此之外还有 : 
scipy, r, matplotlib, sagemath 等等.
有兴趣的朋友可参考 : 

[参考]
相关文章
|
8月前
Matlab R2016b安装后打开报错:License Manager Error-95
Matlab R2016b安装后打开报错:License Manager Error-95
249 0
|
8月前
|
存储 分布式计算 API
Open Stack简介
Open Stack简介
306 0
|
4月前
|
索引
Matlab函数——find
Matlab函数——find
|
8月前
|
Windows
avio_open2函数分析
avio_open2函数分析
153 0
avio_open2函数分析
|
10月前
|
关系型数据库 MySQL Linux
mysql: /usr/local/MATLAB/MATLAB_Runtime/v901/sys/os/glnxa64/libstdc++.so.6: version `CXXABI_1.3.9‘ n
mysql: /usr/local/MATLAB/MATLAB_Runtime/v901/sys/os/glnxa64/libstdc++.so.6: version `CXXABI_1.3.9‘ n
Matlab:成功解决Function definition are not permitted at the prompt or scripts
Matlab:成功解决Function definition are not permitted at the prompt or scripts
|
机器学习/深度学习
Matlab中解决出现的错误使用 svmtrain (line 234) Y must be a vector or a character array.问题
Matlab中解决出现的错误使用 svmtrain (line 234) Y must be a vector or a character array.问题
Matlab中解决出现的错误使用 svmtrain (line 234) Y must be a vector or a character array.问题
|
Ubuntu Shell 开发工具
wujian100_open:基于iverilog的仿真过程记录
本文介绍 Ubuntu1804环境下,基于iverilog仿真过程记录。
583 0
|
Shell Linux 芯片
wujian100_open:基于VCS+Verdi的仿真过程示例
本文介绍 基于VCS+Verdi的仿真过程示例
816 0
wujian100_open:基于VCS+Verdi的仿真过程示例
|
安全 NoSQL 开发者
Open Source v.s. Open Core
本文主要介绍 Open Source 和 Open Core 的区别。Open Source 已广为人知,那么 Open Core 又是什么,在开源软件盛行的今天,二者会怎样影响这个市场呢
1228 0