題:
在Linux上運行的Matlab的免費替代品?
e-sushi
2014-02-05 07:29:03 UTC
view on stackexchange narkive permalink

我最近加入了使用Linux的人們。結果,我正在嘗試使用免費的(如果可能的話,開源的)替代方案來替換盡可能多的專有應用程序。

因為我需要一個不錯的工具來進行數學實驗和我曾經在以前的Windows安裝環境中使用過MATLAB R2013b,但我渴望了解可在Linux(Ubuntu)上運行的Matlab的免費(最好是開源)替代品。

是否有任何免費替代品?在Linux上運行的Matlab?對我來說最重要的是,在語法兼容性方面,Matlab的替代方案應該是緊密配合的……以便可以輕鬆移植(或(如果可能)導入)大多數程序。另外,我非常確定沒有替代方案會具有Matlab提供的完整功能集,因此,對我來說,了解在使用您建議的替代方案時必須期望的功能差異也很重要。意思是:有什麼免費的替代方法可以做MATLAB R2013b不能做的,反之亦然嗎?

沒有功能完整的mathlab替代品。因此,期望缺少功能並降低性能。和更少的圖書館。
Matlab有很多功能。您使用哪些功能?您是否嘗試過嘗試成為Matlab的免費替代產品的Scilab?
不應再次提出這個問題,因為要求仍然很模糊。
@e-sushi如果您願意在Windows上購買Matlab,那麼為什麼不在Linux上也使用它呢?
@Bernhard要回答[您的問題](http://softwarerecs.stackexchange.com/questions/194/free-alternatives-to-matlab-that-run-on-linux?noredirect=1#comment954_194),我將引用我的問題的一部分似乎似乎錯過了:*“…試圖用**免費的(如果可能的話,開源的)替代品來替換我盡可能多的專有應用程序** ...” *我認為這顯然表明了我我不願意再為Matlab付款。
@e-sushi沒有開源應用程序可以代替專有應用程序。您應該包括所需規格的列表。
@Bernhard:“盡可能多”似乎是一個非常明確的要求。是否真的有這麼多涵蓋Linux大部分功能的Matlab替代品,很難選擇一兩種兼容最緊密的產品?你能說出十個這樣的程序嗎?
@SF。您是否要說服我他正在使用所有功能?它沒有任何意義。他可能只是做一些數據轉換和繪圖。在這種情況下,從Matlab到Python代碼的轉換器可能是一個有效的答案。如果他只使用其中的幾個,那麼盡可能多就沒有任何意義。
@Bernhard我們幫助部分的一些友好的提示:*“ [我什麼時候不應該發表評論?](http://softwarerecs.stackexchange.com/help/privileges/comment)…**二次討論**或辯論有爭議的觀點;請改用[chat](http://chat.stackexchange.com/);…“ *
@e-sushi您正在挑選我的評論的錯誤部分。我明確要求三遍以澄清您的確切要求:http://meta.softwarerecs.stackexchange.com/questions/1/is-it-okay-to-ask-for-alternatives
@Bernhard:如果您到目前為止還沒有註意到,那麼這個問題已經有認可的答案。滿足者的要求。根據給定的準則考慮某人能夠給出滿意的答案是事實證明,該問題足夠明確,不需要進一步說明。如果e-sushi回答您的問題,您相信您能提供比Olli更好的解決方案嗎?整個軟件包的一般兼容性與其他任何軟件包一樣,都是軟件包可取性的有效度量標準,無論您如何考慮。
@SF。這個網站是私人Beta版。目的是提出好的榜樣問題。這樣,這是一個不好的問題。有一個公認的答案是完全不相關的。
@Bernhard:這是您的意見。在我看來,這個問題非常好,“最類似於給定”是一個非常明確且非常可接受的準則。我真的不明白你的仇恨。 (而且他是否使用所有功能都是沒有根據的。例如,我是一名作家。我傾向於問一些我從未使用過或打算使用的東西的問題-我故事中的人物會這樣做。我的書並且仍然讓我的角色使用類似於Matlab的真正的非抽象軟件,並且在Linux上運行,我會問同樣的問題。)
五 答案:
#1
+19
Olli
2014-02-05 07:40:10 UTC
view on stackexchange narkive permalink

在Linux中,沒有任何替代Matlab。 Matlab確實是一個巨大的軟件包,包括相當大的圖書館生態系統。

八度是Matlab的一種免費替代產品。它缺少許多功能,但是所有基本知識都存在。我都用過,但是根據我自己的感受很難給出好的評價。 本頁列出了一些細微的差異,但主要是Octave優於Matlab的情況。最大的問題可能是某些功能的行為不同,例如,布爾值的產品加載空文件。這很重要,因為在發生意外情況時,這會使移植您自己的腳本更加困難。

我自己的感覺是

  • Matlab比Octave更成熟(這並不奇怪)
  • Matlab更快(我不
  • Matlab UI明顯更好
  • 庫支持,並且Web上可用的示例代碼對Matlab的質量都比Octave高。

話雖如此,Octave是免費的,而且Matlab的價格超出了普通消費者可以負擔的價格。


鼠尾草是另一種選擇,但在功能上更接近Mathematica。

有關更多的“自己動手”解決方案,請查看R,Scilab和Python。您將不會獲得與這些組件集成在一起的一體化軟件包,而且學習曲線相當陡峭。

-1:我相信SR的指導方針是“每個答案一個產品”。否則,投票不會反映出對單個產品的信念,這是這裡的重點。我將對純Octave答案進行+1投票,但對SageMath則沒有任何意見。
-1
@IraBaxter正在討論中,但尚未達成共識。
@TimPost感謝您的注意。
#2
+16
Lyndon White
2014-02-06 20:42:13 UTC
view on stackexchange narkive permalink

八度音調

,正如奧利(Olli)所說,Ocatave是matlab的替代方案:

值得注意的功能(與matlab共享):

  • 語法幾乎相同。它將消耗幾乎所有m文件,而無需更改。 mfile也是其默認格式。語法是如此相同,以至於我所在大學的matlab課程在自動分級機中使用八度,即使該單元是完全在matlab中講授的,並且只通過了一次八度。

  • 高質量的 BLAS庫集成(通常我相信它已與OpenBlas集成,但這可能取決於您的系統,可能是Atlas)。由於有了BLAS,因此像matlab一樣,使用矢量技術(而不是for循環)的效率要高得多-因此好的matlab代碼仍然是好的八度音程代碼

  • 自動多線程性能::如果您在octave或matlab中編寫一些複雜的代碼,並打開一個工具查看CPU負載,它將加載所有內核。這種並行化意味著事物應該運行得更快。
  • 具有鼠標交互作用的3D圖:如果創建3D繪圖,則打開的窗口支持鼠標交互以縮放,平移和旋轉。 / li>

還有一些添加的功能,但是我從來沒有發現它們足以引起人們的注意,以至於無法記住它們。

缺少的重要功能:

  • :沒有simulink,並且其他各種庫(例如 Signal Processing Toolbox)也不存在。但是還有一些替代方法,例如 signal軟件包
  • GUI Workspace :八度工作環境是命令行外殼。它是功能性的,並且使用了 GNU readline之類的東西。當您繪製在新窗口中打開的具有完整圖形的圖形時。 (圖中的)。但是沒有Plot編輯器,沒有文件瀏覽器,沒有變量資源管理器等。只是一個外殼。
更正:我最近從源代碼安裝了Octave 4.2.1構建。如果您具有適當的依賴關係,Octave會提供一個簡潔的GUI。 **因此,Octave不僅是一個shell程序。**
#3
+9
Ranveer
2014-02-05 17:07:32 UTC
view on stackexchange narkive permalink

我建議使用 Scilab,因為它是MATLAB的不錯的開源替代品。它沒有專業軟件包的健壯性和完善性,但是由於它基於MATLAB語言,因此,如果您的需求發生變化,或者以後您發現自己在MATLAB是

堆棧溢出上引用 Richie Cotton

Scilab是MATLAB的,而OpenOffice是MS Office的。就是說,這不是一個完全克隆的東西,而且還不夠完善。您確實獲得了MATLAB的大部分功能,價格也更加令人滿意。

[+1]您可以添加任何有關Matlab語法兼容性的信息(以了解將現有內容移植到Scilab是否容易)?
Scilab具有內置的m文件翻譯器,可輕鬆將代碼移植到MATLAB。另外,它是跨平台的,即可以與Windows / Linux / MacOS一起使用。好吧,由於我只使用了SCILAB,所以我無法說出它相對於其他產品的優缺點,但是,是的,我發現它相當不錯。
還要注意,Scilab已經存在了一段時間,它是由法國政府贊助的。
#4
+7
Szabolcs
2014-07-01 22:41:32 UTC
view on stackexchange narkive permalink

看看 Julia http://julialang.org/

Julia專為數字科學工作而設計,包括交互式工作。 它具有高質量的筆記本界面,例如Mathematica和Sage。它具有同類最佳的性能,請查看首頁上的基準測試。它可以調用Python,從而為它打開了許多有用的庫。

Julia專門為簡化MATLAB用戶的過渡而設計。基本語法相似。但是,它的編程語言比MATLAB的語言更現代和更高級(例如,它支持元編程)。

Julia是一個相對較新的系統,因此不如其他系統完整(R (八度)),但它的社區正在增長,並且顯示出很大的希望。

(正如您所說)Julia的一個顯著特點(與numpy相比)特別出色,它是數字運算的語法與Matlabs幾乎相同。在某種程度上,移植數字算法時,複製並粘貼然後修復異常是可行的。
#5
+5
Nathaniel M. Beaver
2015-10-14 22:38:11 UTC
view on stackexchange narkive permalink

如果您不需要與Matlab完全兼容,則可以選擇Freemat。

enter image description here

http:// freemat.sourceforge.net/

它非常快,因為它使用LLVM作為JIT編譯器。

http:// freemat-blog。 blogspot.com/2008/02/why-jit-how-to-jit.html

儘管Octave的GUI變得越來越好,但Freemat集成GUI的時間比Octave長。 / p>

主要缺點是它不像Octave那樣積極開發;最新版本是2013年。

https://www.openhub.net/p/_compare?project_0=FreeMat&project_1=GNU+Octave

我於2010年在一家初創公司使用Freemat,它滿足了我們的需求。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...