跳至內容

Julia for MATLAB 使用者/Julia for MATLAB 使用者入門

來自華夏公益教科書

Julia for MATLAB 使用者入門

[編輯 | 編輯原始碼]

本部分旨在將典型的 MATLAB 使用者引導到 Julia 最重要的方面,強調一些可能更出乎意料的差異,並重點介紹 Julia 在哪些方面相對於 MATLAB 具有特殊優勢。

Julia 和 MATLAB 具有很多相似之處

  • 核心都是針對科學和工程領域的程式語言。
  • 每個語言都具有相對高階的語法,在某些情況下非常相似。

也存在很多差異

  • MATLAB 是商業開發的閉源軟體,而 Julia 是開源社群開發的專案。
  • MATLAB 相對成熟穩定,而 Julia 相對年輕,發展迅速(儘管截至 2018 年 7 月,1.0 版本即將釋出)。

按區域比較

[編輯 | 編輯原始碼]

MATLAB 和 Julia 之間的比較和對比。這是對 MATLAB 到 Julia 函式對映 頁面的補充。

起源和歷史

[編輯 | 編輯原始碼]
  • MATLAB 的起源可以追溯到 20 世紀 70 年代後期,最初是為了讓其創造者 Cleve Moler 在 UNM 的數學系學生能夠訪問 EISPACKLINPACK 庫,而無需使用 FORTRAN 語言編寫程式碼,因為 FORTRAN 是 MATLAB 最初的實現語言。Moler、Jack Little 和 Steve Bangert 在 1984 年共同創立了 The MathWorks;到那時,MATLAB 已經用 C 語言重新編寫。[1] 自此,MATLAB 及其衍生產品(見下文)已廣泛應用於學術界和工業界,截至 2018 年 4 月,使用者數量超過 300 萬。[2]
  • Julia 由 Jeff Bezanson、Stefan Karpinski、Viral B. Shah 和 Alan Edelman 在 2009 年發起,他們著手建立一種既高階又快速的語言。[3] 它在 2012 年的一篇博文中被介紹。[4] Julia 語言建立者與 Deepak Vinchhi 和 Keno Fischer 共同創立了一家名為 Julia Computing 的公司,該公司宣稱其使命是“開發使 Julia 易於使用、易於部署和易於擴充套件的產品”。[5] 其中一款產品是 JuliaPro,它提供 Julia 的一體化安裝,並提供免費和付費版本。

產品概況

[編輯 | 編輯原始碼]
  • MATLAB 是一系列產品,包含一個“核心語言”,該語言包含在每次安裝中,以及一些可以安裝的一級[6] 工具箱,這些工具箱提供額外的功能,通常按某些應用程式領域進行組織,例如,有一個航空航天工具箱和一個控制系統工具箱。所有工具箱都需要一個許可的基準 MATLAB 安裝才能執行,有些工具箱還需要其他工具箱作為先決條件。
  • Julia 是一種語言,包含一個核心(Base)和一個標準庫(StdLib),這些都包含在每次安裝中,以及一些可以安裝的軟體包。
  • 與 MATLAB 產品線並行,MathWorks 的另一個主要產品線是 Simulink,它本身具有一個基礎產品(Simulink 本身,需要 MATLAB)以及一些名為塊集的附加軟體包,類似於 MATLAB 工具箱,它們在某些特定領域為 Simulink 新增功能。塊集都需要 Simulink,而有些塊集還需要工具箱或其他塊集的許可證。

版本控制和釋出

[編輯 | 編輯原始碼]
  • MATLAB 遵循 每半年釋出一次產品,每年年初發佈一個“A”版本,年底釋出一個“B”版本。整個產品線在這方面是同步的,因此工具箱會與核心語言同步更新。在釋出之間,可能會發布針對錯誤修復的補丁,但這些補丁不會自動提供,通常情況下,使用者只有在確定自己受到錯誤修復更新的影響(或者由 MathWorks 支援告知)時才會安裝它們。MATLAB 1.0 版本於 1984 年釋出;MATLAB 產品系列的最新版本是 R2018a,大約是第 39 個主要版本[7]。一些組織的政策是等待“b”版本釋出後再進行遷移,部分原因是“a”版本往往會引入新功能,而這些功能中的一些早期錯誤會在“b”版本釋出之前得到解決。[需要引用]
  • Julia 0.3 版本於 2014 年 8 月釋出;截至 2018 年 7 月,1.0 版本處於 beta 測試階段(版本 0.7,即 1.0 版本,內建棄用警告)。
  1. Cleve Moler (2004 年 12 月),"The Origins of Matlab"。2018 年 7 月 31 日檢索。
  2. MathWorks 公司概況(2018 年 7 月 31 日檢索)
  3. https://en.wikipedia.org/wiki/Julia_language#History
  4. Jeff Bezanson、Stefan Karpinski、Viral Shah、Alan Edelman,為什麼我們建立了 Julia,2012 年 2 月 14 日。
  5. https://juliacomputing.com/about-us
  6. 也由 MATLAB 的供應商提供:The MathWorks, Inc. 或簡稱為 MathWorks。
  7. https://en.wikipedia.org/wiki/MATLAB#Release_history
華夏公益教科書