Octave与--traditional与Matlab的兼容性

时间:2016-04-24 17:27:35

标签: matlab octave compatibility

嗨,我是Octave的新手,我几乎不认识Matlab。我开始使用Octave,但我想编写兼容Matlab的代码。我怎样才能做到这一点? 我认为启动Octave时--traditional标志是为此而做的,但是例如,与Matlab不兼容的简单not运算符!=仍可用:

se7entyse7en@Marvins-MacBook-Air:~/Projects/datascience$ octave --traditional
GNU Octave, version 4.0.0
Copyright (C) 2015 John W. Eaton and others.
This is free software; see the source code for copying conditions.
There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  For details, type 'warranty'.

Octave was configured for "x86_64-apple-darwin15.2.0".

Additional information about Octave is available at http://www.octave.org.

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

Read http://www.octave.org/bugs.html to learn how to submit bug reports.
For information about changes from previous versions, type 'news'.

>> 1 != 0
ans =  1

虽然我希望这句话会引发错误。我没有尝试其他已知的非兼容的Matlab语句。那么,是否可以以纯Matlab兼容的方式运行Octave?或者是否有任何工具可以分析代码并在使用不兼容的功能时发出警告?

2 个答案:

答案 0 :(得分:3)

该标志旨在毫无问题地在OCTAVE中运行MATLAB代码。详细说明为given here in the documentation

要在使用MATLAB中不存在的laguage功能时收到警告,请使用警告Octave:language-extension

答案 1 :(得分:1)

(发布此作为答案,因为我还不能发表评论。)

正如已经说过的那样,在Octave中运行warning("on", "Octave:language-extension");作为命令会在遇到Matlab不兼容的语法时启用警告。

为了使您不必每次都输入此命令,您可以使用.octaverc - 文件。
在OS X和Linux上,此文件应位于您的主目录中。在Windows上,它应该在%userprofile%\.octaverc下。如果不存在,您可以自己创建 然后只需将相同的命令warning("on", "Octave:language-extension");粘贴到该文件中即可。