後MATLAB時代的七種開源替代,一種堪稱完美!

雲棲號資訊:【點擊查看更多行業資訊
在這裏您可以找到不同行業的第一手的上雲資訊,還在等什麼,快來!

近日,有哈工大學生表示收到了正版軟件取消激活的通知,而在與 MATLAB 開發公司 MathWorks 交涉之後,被告知由於美國政府實體名單的原因,相關授權已被中止。目前,哈爾濱工業大學、哈爾濱工程大學的老師和學生們都無法使用 MATLAB。

MATLAB大學讀理工科專業的同學基本上都接觸過這款軟件。有分析人士指出,如果整個學校被禁用了正版 MATLAB,這意味着學校的人員再發表論文或者從事商業項目,其成果原則上就不應包含任何基於 MATLAB 的內容,這對國內相關企業和研究學者帶來的影響不可忽視。
這件事在國內社交媒體迅速發酵並登上熱搜,引發學術界和技術界的廣泛討論。

現在只是禁止了實體名單的上的幾所高校,但是誰又能保證後續不會加碼制裁打擊中國高校,抑制中國科技發展呢?因此通過此次禁用事件,我們有理由說現在已經到了後MATLAB時代!急需找到MATLAB合適的替代品。

爲此我們收集整理到的一些開源軟件,可以起到一定的替代效果。包括:SCILAB、Octave、Spyder、Python、GMAT、GNU Radio、ROS。特別是SCILAB,他與MATLAB最爲接近,近乎可以實現完美替代!

希望本文對大家有所幫助。另外,也歡迎大家在留言區推薦你知道的替代工具。

  1. “近乎完美”替代之SCILAB

SCILAB 是一款與 MATLAB 類似的開源軟件,可以實現 MATLAB 上所有基本的功能,如科學計算、數學建模、信號處理、決策優化、線性、非線性控制等各個方面。

由於 SCILAB 的語法與 MATLAB 非常接近,熟悉 MATLAB 編程的人很快就會掌握 SCILAB 的使用。有意思的是,SCILAB 提供的語言轉換函數可以自動將用 MATLAB 語言編寫的程序翻譯爲 SCILAB 語言。目前,SCILAB 可在 Linux、WINDOWS 和 Mac OS 全 PC 平臺運行。
作爲開放源碼的軟件,SCILAB的源代碼、用戶手冊及二進制的可執行文件都是免費的,公佈於INRIA的網站上(中法實驗室已建立其鏡像網站),可以直接下載,在EETOP論壇SCILAB專區也可以下載http://bbs.eetop.cn/forum-114-1.html

更重要的是SCILAB 是由法國國家信息、自動化研究院的科學家們開發的“開放源碼”軟件,和美國沒有關係!

此外最關鍵的是SCILAB也一個有類似 MATLAB simulink的工具Xcos!simulink能做的Xcos也可以完成,並且界面和使用也很類似!很多網友擔心的simulink無法替代問題迎刃而解!

因此SCILAB 近乎可以完美替代MATLAB!(歡迎用過的朋友補充說明)

Xcos截圖:

A4FEF9E0_27EF_4037_A9CC_D41EC02B2E4A

  1. 與MATLAB語法兼容Octave
    如果已經對MATLAB語言非常熟悉,暫時不想學習一門新的語言,那麼可以嘗試一下Octave。Octave是GNU項目成員之一,提供了與MATLAB語法兼容的開放源代碼科學計算及數值分析的工具。

7DA08B57_5F70_4675_92C4_939933DDCC6F

Octave 是一個類似 MATLAB 和 Scilab 的數學軟件包,可以進行各種運算,編程。它還有豐富的 C++ 接口可以讓用戶編程時調用。其配套的繪圖工具採用 gnuplot 。Octave 的使用也是基於字符終端模式的,當需要繪圖時,將會調用 gnuplot 進行數據繪圖,並顯示出來。
Octave 是用 C++ 編寫的,它內容豐富的庫也可以供用戶在編寫軟件時調用。Octave 同時還支持 Fortran 等的調用,GSL 綁定等。可以由用戶定製自己的函數、子程序等。

  1. 航天計算神器 GMAT

對於航天器軌道計算、任務分析等,可以嘗試General Mission Analysis Tool (GMAT)。GMAT提供了圖像化界面或腳本兩種接口,相比於STK,GMAT的深空探測相關功能更加強大,可配置的資源也更多。

CA20CD72_1F1F_4cc5_AC57_77D10BCD1AF4

  1. 軟件無線電、信號處理等應用 GNU Radio
    GNU Radio是一個對學習,構建和部署軟件定義無線電系統的免費軟件工具包,可通過Python或類似於Simulink/Labview的圖形化界面調用。紫丁香、龍江等衛星的業餘無線電接收解調軟件就是在GNU Radio基礎上開發並開源發佈的。

1047550D_08CF_4558_8707_72AFC2D6A5CD

5 機器人相關 Robot Operating System (ROS)
ROS是一種針對於滿足不同機器人軟件協同工作的靈活軟件框架。目的在於提高軟件模塊化能力和複用能力,並實現不同任務間的數據/信號量的有效共享,方便多種機器人平臺之間創建複雜和魯棒的機器人行爲,同時它也是一種工具庫的約定與集合。

6443334D_5F8B_432b_9046_E1F2C102BBDE

  1. Spyder
    Spyder不是一門編程語言,Spyder是Python(x,y)的作者爲它開發的一個簡單的集成開發環境。和其他的Python開發環境相比,它最大的優點就是模仿MATLAB的“工作空間”的功能,可以很方便地觀察和修改數組的值。

Spyder的界面由許多窗格構成,用戶可以根據自己的喜好調整它們的位置和大小。當多個窗格出現在一個區域時,將使用標籤頁的形式顯示。例如在圖1中,可以看到“Editor”、“Object inspector”、“Variable explorer”、“File explorer”、“Console”、“History log”以及兩個顯示圖像的窗格。在View菜單中可以設置是否顯示這些窗格。

5E7A3687_2752_490f_A32B_EA28D66B8197

Spyder 的界面與 MATLAB 非常類似,其作者早年也承認模仿了 MATLAB 的設計。如果對於 MATLAB 的仿真建模需求不高的話,Spyder 足以取而代之。

  1. Python
    Python是一門完全免費的通用編程語言,以開源的方式提供了大量各類用途的庫與包,如Numpy(數值計算)、SciPy(數學、科學和工程計算)、Matplotlib(類似MATLAB中plot的繪圖工具)等等。

0C0AD8CD_87B1_40b1_B215_56DDC410FA7B

Python是一門更易學更嚴謹的面向對象的程序設計語言。作爲通用程序設計語言的Python,有更爲嚴格清晰的語法,可以輕易完成界面、文件、封裝等高階需求,可移植性更好,也非常適合AI、網絡等相關應用。
Python的擁有龐大的數學庫,如果不是必須用到MATLAB simulink的化,用Python來取代MATLAB 應該是最佳方式了。我們經常可以看到這樣一個公式:python+NumPy+Scipy+matplotlib = Matlab

【雲棲號在線課堂】每天都有產品技術專家分享!
課程地址:https://yqh.aliyun.com/zhibo

立即加入社羣,與專家面對面,及時瞭解課程最新動態!
【雲棲號在線課堂 社羣】https://c.tb.cn/F3.Z8gvnK

原文發佈時間:2020-06-18
本文作者:人工智能學家
本文來自:“人工智能學家 微信公衆號”,瞭解相關信息可以關注“人工智能學家

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章