Octave 和MATLAB的区别?会用MATLAB的话,还用学Octave吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Octave 和MATLAB的区别?会用MATLAB的话,还用学Octave吗?相关的知识,希望对你有一定的参考价值。

如题。

主要区别如下:

1、占用空间:Octave比较小,安装程序只有几十兆;而Matlab非常庞大,最新版的安装程序大约8G。Matlab之所以那么庞大,是因为有大量的面向各种应用领域的工具箱,Octave无法相比的。

2、用户界面:Matlab经过那么多年的发展,而且又是商业软件,这方面肯定更胜一筹。以前Octave没有调试程序的GUI,现在据说已经有了,但应该比不上Matlab。

3、语法方面:Octave最初便是模彷Matlab而设计,语法基本上与Matlab一致,严谨编写的代码应同时可在Matlab及Octave运行,但也有很多细节上差别。一些软件开发小组也使用两者兼容的语法,直接开发可以同时在Matlab和Octave使用的程序。

4、费用方面:Octave是完全免费的(并且是开源的),而Matlab是商业软件,价格很昂贵。商业版的优势是有非常完善的服务。

所以说,如果会用Matlab,是没必要去学Octave的。

拓展资料:

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

Octave是一种高层解释类编程语言,旨在解决线性和非线性的数值计算问题。Octave为GNU项目下的开源软件,早期版本为命令行交互方式,4.0.0版本发布基于QT编写的GUI交互界面。Octave语法与Matlab语法非常接近,可以很容易的将matlab程序移植到Octave。同时与C++,QT等接口较Matlab更加方便。

参考技术A

Octave是一个旨在提供与Matlab语法兼容的开放源代码科学计算及数值分析的工具,是Matlab商业软件的一个强有力的竞争产品。

二者的主要区别:

1、费用方面

Octave是完全免费的(并且是开源的),而Matlab是商业软件,价格很昂贵(当然,这在当前国情下不是问题)。商业版的优势是有非常完善的服务,即使没有购买正版,也可以在MathWorks官方网站上获得很多非常有价值的资源。

2、占用空间

Octave比较小,安装程序只有几十兆;而Matlab非常庞大,最新版的安装程序大约8G,即使只安装最基本的系统,至少也要几百兆以上。Matlab之所以那么庞大,是因为有大量的面向各种应用领域的工具箱,Octave无法相比的。

3、语法方面

Octave最初便是模彷Matlab而设计,语法基本上与Matlab一致,严谨编写的代码应同时可在Matlab及Octave运行,但也有很多细节上差别。一些软件开发小组也使用两者兼容的语法,直接开发可以同时在Matlab和Octave使用的程序。

有个说法,Matlab程序95%多(不含特殊工具包)的应该可以直接在Octave上运行,因为Octave让人把较大差别报到Bugs上去并相应改进,但Octave中引入了一些其它语法符号,如字符串"",注释#(unix风格)等,所以如果完全按Octave写的程序在Matlab里是会出问题的。

4、绘图方面

Octave的画图后台是强大的Gnuplot,有人认为绝对不会弱于Matlab,而且输出格式要远多于Matlab,公式显示也要强大很多。但也有人说Octave绘图速度比Matlab慢。

5、用户界面

Matlab经过那么多年的发展,而且又是商业软件,这方面肯定更胜一筹。以前Octave没有调试程序的GUI,现在据说已经有了,但应该比不上Matlab。

总的说起来,如果会用Matlab,除非考虑到版权方面的因素,或者无法忍受Matlab的庞大,否则,似乎没有特别的必要去学习Octave。

扩展资料

Octave是一种高层解释类编程语言,旨在解决线性和非线性的数值计算问题。Octave为GNU项目下的开源软件,早期版本为命令行交互方式,4.0.0版本发布基于QT编写的GUI交互界面。

Octave语法与Matlab语法非常接近,可以很容易的将matlab程序移植到Octave。同时与C++,QT等接口较Matlab更加方便。

Octave是一种科学计算软件,它提供了方便的互动命令列接口来解决线性与非线性的数值运算问题,并可将计算结果可视化,与高价的商业软体MATLAB语法几乎兼容。

在此推荐教授「科学计算」的老师们不要教 MATLAB而改教Octave或Scilab,毕竟教学是教方法与概念而非教哪一间公司的商业软体,除了MATLAB现有的程序档几乎可无误的在Octave或Scilab上跑之外,也建立学生们尊重知识产权与学习自由软体的概念。

参考资料:OCTAVE.百度百科

参考技术B

一、主要的区别:

1)费用方面

Octave是完全免费的(并且是开源的),而Matlab是商业软件,价格很昂贵(当然,这在当前国情下不是问题)。商业版的优势是有非常完善的服务,即使没有购买正版,也可以在MathWorks官方网站上获得很多非常有价值的资源。

2)占用空间

Octave比较小,安装程序只有几十兆;而Matlab非常庞大,最新版的安装程序大约8G,即使只安装最基本的系统,至少也要几百兆以上。Matlab之所以那么庞大,是因为有大量的面向各种应用领域的工具箱,Octave无法相比的。

3)语法方面

Octave最初便是模彷Matlab而设计,语法基本上与Matlab一致,严谨编写的代码应同时可在Matlab及Octave运行,但也有很多细节上差别。一些软件开发小组也使用两者兼容的语法,直接开发可以同时在Matlab和Octave使用的程序。

4)绘图方面

Octave的画图后台是强大的Gnuplot,有人认为绝对不会弱于Matlab,而且输出格式要远多于Matlab,公式显示也要强大很多。但也有人说Octave绘图速度比Matlab慢。

5)用户界面

Matlab经过那么多年的发展,而且又是商业软件,这方面肯定更胜一筹。以前Octave没有调试程序的GUI,现在据说已经有了,但应该比不上Matlab。

二、这两个软件都是矩阵计算软件中的佼佼者。学习其中一个就够用了,两者的兼容性很好。

扩展资料:

octave是开源的且免费的矩阵计算工具,是矩阵计算的新宠。与MatLab的兼容性很高。

octave遵循GPL协议(GNU General Public License),用户可以单独发行octave或者包含在其产品中发行不过,octave没有图形界面,是命令交互的。

参考资料:百度百科--OCTAVE(工程计算软件)

参考技术C

Octave是一个旨在提供与Matlab语法兼容的开放源代码科学计算及数值分析的工具,是Matlab商业软件的一个强有力的竞争产品。

 

二者的主要区别:

 

1、费用方面

Octave是完全免费的(并且是开源的),而Matlab是商业软件,价格很昂贵(当然,这在当前国情下不是问题)。商业版的优势是有非常完善的服务,即使没有购买正版,也可以在MathWorks官方网站上获得很多非常有价值的资源。

 

2、占用空间

Octave比较小,安装程序只有几十兆;而Matlab非常庞大,最新版的安装程序大约8G,即使只安装最基本的系统,至少也要几百兆以上。Matlab之所以那么庞大,是因为有大量的面向各种应用领域的工具箱,Octave无法相比的。

 

3、语法方面

Octave最初便是模彷Matlab而设计,语法基本上与Matlab一致,严谨编写的代码应同时可在Matlab及Octave运行,但也有很多细节上差别。一些软件开发小组也使用两者兼容的语法,直接开发可以同时在Matlab和Octave使用的程序。

 

有个说法,Matlab程序95%多(不含特殊工具包)的应该可以直接在Octave上运行,因为Octave让人把较大差别报到Bugs上去并相应改进,但Octave中引入了一些其它语法符号,如字符串"",注释#(unix风格)等,所以如果完全按Octave写的程序在Matlab里是会出问题的。

4、绘图方面

Octave的画图后台是强大的Gnuplot,有人认为绝对不会弱于Matlab,而且输出格式要远多于Matlab,公式显示也要强大很多。但也有人说Octave绘图速度比Matlab慢。

 

5、用户界面

Matlab经过那么多年的发展,而且又是商业软件,这方面肯定更胜一筹。以前Octave没有调试程序的GUI,现在据说已经有了,但应该比不上Matlab。

 

查阅了不少资料,大致上总结这些,希望对题主有帮助。总的说起来,如果会用Matlab,除非考虑到版权方面的因素,或者无法忍受Matlab的庞大,否则,似乎没有特别的必要去学习Octave。

本回答被提问者和网友采纳
参考技术D Octave是一个旨在提供与Matlab语法兼容的开放源代码科学计算及数值分析的工具,是Matlab商业软件的一个强有力的竞争产品。

二者的主要区别:

1、占用空间:Octave比较小,安装程序只有几十兆;而Matlab非常庞大,最新版的安装程序大约8G,即使只安装最基本的系统,至少也要几百兆以上。Matlab之所以那么庞大,是因为有大量的面向各种应用领域的工具箱,Octave无法相比的。

2、用户界面:Matlab经过那么多年的发展,而且又是商业软件,这方面肯定更胜一筹。以前Octave没有调试程序的GUI,现在据说已经有了,但应该比不上Matlab。

3、语法方面:Octave最初便是模彷Matlab而设计,语法基本上与Matlab一致,严谨编写的代码应同时可在Matlab及Octave运行,但也有很多细节上差别。一些软件开发小组也使用两者兼容的语法,直接开发可以同时在Matlab和Octave使用的程序。

4、费用方面:Octave是完全免费的(并且是开源的),而Matlab是商业软件,价格很昂贵(当然,这在当前国情下不是问题)。商业版的优势是有非常完善的服务,即使没有购买正版,也可以在MathWorks官方网站上获得很多非常有价值的资源。

总的说起来,如果会用Matlab,除非考虑到版权方面的因素,或者无法忍受Matlab的庞大,否则,似乎没有特别的必要去学习Octave。

以上是关于Octave 和MATLAB的区别?会用MATLAB的话,还用学Octave吗?的主要内容,如果未能解决你的问题,请参考以下文章

Octave/Matlab:向向量添加新元素

八度更改 UIControl 位置

Octave添加Package的问题

MATLAB / Octave:从图像中切出很多圆圈

斯坦福大学-机器学习的动机与应用

Octave / MATLAB 中的 deal() 函数有啥意义?