這筆帳很少是以一行明細的形式出現。它出現的時機,是實驗室想把 Simulink 加進某個席次時,是校園授權在論文某一章截稿那週到期時,或是一間小公司發現它需要的控制工具箱比跑它的那台筆電還貴時。MATLAB 幾乎從來不是因為有人討厭那個編輯器而被拋棄的。它被拋棄,是因為決定誰能繼續用下去的,是授權——而不是軟體本身。

所以真正有用的問題不是「哪款免費工具最好」,而是「哪款免費工具適合我實際在做的工作」。有四件事決定這一點,而且沒有一件是功能清單:你想擺脫的那種授權、你桌上那類運算(矩陣指令碼、方塊圖模型,還是統計)、有多少現成的 .m 程式碼必須跟著你走,以及你能不能接受沒有原廠支援。沿著這四條把你的工作排一排,選擇大致上就會自己浮現。

先從授權談起,因為那才是真正的問題

MATLAB 是專有的商業軟體,由 MathWorks 按席次販售,Simulink 和每一個工具箱都各自列為獨立項目計價——可以訂閱,也可以買斷再每年付費以維持最新版本。它沒有一般性的免費方案。唯一真正免費的途徑來自學校:MathWorks 告訴學生,學校可以提供無限存取,所以第一件要查的事,就是你的大學是否已經有全校授權。如果有,MATLAB 今天對你不花一毛錢,而這一整串問題考驗的其實是你畢業或離開實驗室的那一天。如果沒有,下面這些替代方案就是全部的答案。

ChatGPT 介面截圖

ChatGPT 介面(圖片:OpenAI)。用它把一段壞掉的 MATLAB 片段翻成 Python 很方便——但永遠不要相信它給你的數字。

你算什麼,決定你該裝哪個克隆品

矩陣指令碼是最單純的情況。最接近的兩個開源克隆品是 GNU Octave 與 Scilab,維基百科自己的整理就把這兩者稱為 MATLAB 的兩大開源替代方案。Octave 是為了執行 MATLAB 語法而寫的——它的文件指出,寫得嚴謹的 .m 指令碼能在兩套系統上跑——所以對於實質上只是 MATLAB 語法的課程作業,Octave 是最短的路徑。它目前的穩定版本是 Octave 11.3.0,採 GPLv3-or-later 授權。

Scilab 現在是 2026.1.0,以開源授權免費提供,當你的工作不是指令碼而是模型時,它就是首選。它內建 Xcos,也就是它對應 Simulink 的開源版本,用來從方塊圖模擬連續與離散動態系統。麻煩之處在格式:Xcos 無法匯入 .slx 的 Simulink 模型,所以 Simulink 專案只能重建,不能直接開啟。

當目標是機器學習、資料管線,或任何得在正式環境中運行的東西時,Python 預設就是贏家——NumPy、SciPy、pandas 與 scikit-learn 涵蓋了數值運算的核心,而且這項技能能帶進每一份與資料有關的工作。若做的是數值研究、原始速度很重要、程式碼又吃重,那麼 Julia(MIT 授權;1.12 系列於 2025 年 10 月推出,到了 2026 年 8 月仍在以 1.12.12 修補)就是現代化的替代方案,不過它要你花時間學一個規模較小的生態系。如果工作是統計而非數值運算,誠實的答案是 R,而不是任何 MATLAB 克隆品;我們的 SPSS 替代方案指南 深入談了這條路線。

搬遷的難題在工具箱,不在語法

「兩邊都能跑」只適用於核心語言,到那裡就停了。專有的工具箱函式——通常正是當年需要那張授權的昂貴理由——往往沒有 Octave 或 Scilab 的對應版本,或者名稱不同、行為也略有差異。一般的線性代數、繪圖與訊號函式預期都能找到,而專門的函式則預期要重寫。這份重寫,就是每一條免費路線暗藏的代價:軟體免費,但那幾週不免費。

下手前先快速估一下工作量

打開你最大的那個 .m 檔,數一數你無法立刻叫出名字的工具箱函式。如果數字很低,Octave 今天就能扛得住你。如果很高,這次搬遷就是一個真正的專案,決策也從「選哪個克隆品」變成「接下來五年我想精通哪一種語言」——而那通常就是 Python 或 Julia。

把工具對上工作

如果你的工作是…該用原因
MATLAB 語法的作業GNU Octave 11.3幾乎原封不動就能跑 .m,不必授權
方塊圖模擬Scilab + Xcos開源的 Simulink 對應方案
機器學習/正式環境程式碼Python(NumPy、SciPy、scikit-learn)生態系與職涯價值遠超 MATLAB
講究速度的數值研究Julia(MIT)有編譯速度,又能留在數學裡
統計與報告R為分析輸出而生,而非矩陣指令碼

讓「免費」變貴的三個陷阱

以為克隆品能無痛替換。 Octave 跑的是語言,不是工具箱。一個呼叫專有函式的指令碼會直接失敗,或默默回傳一個不同的數字,而在截稿壓力下這種差異很容易被忽略。請用你課程已經提供的範例來測試。

忘了那些你換不掉的軟體。 如果某個系所或客戶交給你 .slx 模型,也期待你回傳 .slx,那就沒有任何免費工具能補上這個缺口——請編列一個付費席次的預算,而不是搞一套痛苦的變通做法。

讓聊天機器人來算數學。 一般助理在解釋錯誤或轉換語法上真的很有用;它也會毫不猶豫地編造出一個結果。用它來翻譯和解釋,然後對照官方文件查證;ChatGPT 做這件事很好,但拿來當計算機則毫無用處。我們那篇 研究論文寫作 AI 工具指南 就是讓助理安分地待在那個角色上。

常見問題

GNU Octave 真的能無痛取代 MATLAB 嗎? 對核心語言的指令碼來說,接近到大部分課程作業都能原封不動地跑。但對任何依賴特定工具箱的東西來說,不行——在你依賴某個函式之前,請先逐一檢查。

我能在免費工具裡打開我的 Simulink 模型嗎? 不能直接打開。Xcos 是等效的工作流程,但 .slx 檔無法匯入,所以模型得重建。指令碼和資料能搬,方塊圖不能。

學生真的能免費拿到 MATLAB 嗎? 很多時候可以,透過校園授權——MathWorks 表示學校能給學生無限存取。買任何東西之前,先到你大學的軟體頁面確認一下。

Python 跟 MATLAB 一樣快嗎? 就向量化的陣列程式碼而言,大致相當。差距出現在緊湊的迴圈裡,而那正是 Julia 派上用場的地方。

接下來該怎麼做

先安裝 Octave——只要幾分鐘,它能打開你現有的 .m 檔,而且會立刻告訴你,你的工作有多少是核心語言、多少是工具箱。如果工具箱函式很少,你就搞定了,還省下一張授權。如果很多,你才剛發現自己真正的下一步是 Python 或 Julia,而且你可以刻意地開始,而不是在截稿壓力下被迫開始。無論哪一種,今晚一次下載就能給你答案。

版本、授權與學生存取相關細節,已於 2026 年 10 月對照 GNU Octave、Scilab、Julia 與 MathWorks 官方網站查核——Octave 11.3.0、Scilab 2026.1.0、Julia 1.12.12。MATLAB 及其工具箱為專有軟體、分開計價;最新價格請查閱 MathWorks 定價頁面,各地區有所不同。本文未對其中任何產品進行實機測試。