Matlab
在 Matlab 和 Python 中,哪種語言適合統計分析?
在 Matlab 和 Python 中,哪種語言適合一般的統計數據分析?除了可訪問性之外,每種方法的優點和缺點是什麼?
作為過去 10 多年的頑固 Matlab 用戶,我建議您學習 Python。一旦你對一種語言足夠熟練,當你使用一種正在學習的語言工作時,你會覺得你的工作效率不夠高,你會退回到使用默認的最佳語言。至少,我建議您嘗試同樣精通多種語言(我也建議使用 R)。
我喜歡 Matlab 的地方:
- 我精通它。
- 它是數字分析師的通用語言。
- 分析工具非常好。這是我使用 Matlab 而不是 octave 的唯一原因。
- 有一個免費軟件克隆,octave,它與參考實現有很好的一致性。
我不喜歡 Matlab 的地方:
- 沒有一個好的系統來管理第三方(免費或其他)包和腳本。Mathworks 控制“中央文件交換”,附加包的安裝看起來非常笨重,與 R 擁有的優秀系統完全不同。此外,Mathworks 沒有動力去改善這種情況,因為他們通過銷售與免費軟件包競爭的工具箱來賺錢;
- Matlab 中並行計算的許可證非常昂貴。
- 許多 m 代碼,包括許多工具箱函數和一些內置函數,被設計為顯然是正確的,但以犧牲效率和/或可用性為代價。最明顯的例子是 Matlab 的
median
函數,它對數據進行排序,然後取中間值。自 70 年代以來,這一直是錯誤的算法。- 將圖形保存到文件在 Matlab 中充其量是狡猾的。
- 在過去的 5 年中(當我開始使用 Matlab 而不是 octave 時)我沒有發現我的用戶體驗有所改善,儘管 Mathworks 繼續添加花里胡哨的功能。這表明我不是他們的目標客戶,而是他們希望通過讓高級用戶的情況變得更糟來擴大市場份額。
- 現在有 2 種方法可以在 Matlab 中進行面向對象編程,這充其量是令人困惑的。使用舊樣式的遺留代碼將持續一段時間。
- Matlab UI 是用 Java 編寫的,它對內存管理有不愉快的想法。