首頁 > 軟體

設定Sublime Text作為Matlab的編輯器

2020-06-16 17:36:53

最近使用Matlab時發現它自帶的編輯器不太好用,特別是在不同平台切換時會出現編碼錯誤。
例如Matlab 2014a,在Ubuntu平台採用UTF-8編碼,但在Windows平台採用的卻是GBK編碼。這樣在不同平台切換時就會產生亂碼。雖然Matlab自帶的編輯器也能在一定程度上解決這個問題,但沒有Sublime方便。
因此,我打算使用Sublime來作為Matlab的編輯器。經過網上搜尋和自我摸索,最終實現了Sublime編輯+Matlab命令列(terminal)執行的開發環境搭建。

前期準備

  • Matlab 2014a (Windows或Linux平台,這裡以Win10和Ubuntu 16.04為例)。有關安裝過程這裡不再贅述。
  • Sublime Text 3

設定過程

1. 新建Build System

在Sublime中選擇Tools -> Build System -> New Build System,系統會建立一個JSON檔案,根據不同系統輸入以下內容:

Win10
{
    "cmd": ["E:/Softwares/MATLAB/R2014a/bin/matlab.exe", "-nodesktop", "-nosplash", "-r", ""run('$file')""],
    "selector": "source.m",
    "working_dir": "${project_path:${folder}}"
}
Ubuntu 16.04
{
    "cmd": ["gnome-terminal -x bash -c "matlab -nosplash -nodesktop -r ${file_base_name}; exec bash""],
    "selector":"source.m",
    "shell":"true",
    "working_dir": "$file_path"
}

要注意cmd中對應的安裝路徑,這裡給的路徑是我的電腦中的設定。其中,matlab -nosplash -nodesktop -r ${file_base_name}表示啟動matlab,並執行某個.m檔案。-nosplash表示不載入啟動介面;-nodesktop表示不載入GUI介面;-r表示執行Matlab命令列(MATLAB_command);file_base_name表示檔名,但不包含副檔名,如.m等。

【註】 這一步中有關Ubuntu的設定和網上一些教學有所區別,網上教學大多是沒有gnome-terminal命令的。我這裡希望以命令列方式啟動Matlab。我在實踐中發現,Sublime的Build Results沒有互動功能,只能顯示執行結果。在Win10中Build時能自動開啟Matlab命令列程式進行互動,但在Ubuntu中卻沒有開啟命令列,所以在前面新增了啟動終端(terminal)的相關命令,用於進行互動。

2. 儲存新建的Build System

命名並儲存這個JSON檔案到預設目錄(這個JSON檔案的名字將成為新的Build System的名字,出現在Build選單中)

3. 通過Sublime啟動MATLAB_command進行編譯

設定完成。此時隨便編輯一個.m檔案,在Build System下選擇剛新建的設定,點選Tools -> Build或者使用快捷鍵Ctrl+B,這時Sublime就會開啟MATLAB_command並編譯當前檔案。
值得注意的是,每次Build都會產生一個新的命令列介面,相當於每次都重新啟動了一次MATLAB_command,很耗費時間。所以建議在MATLAB_command啟動後,每次修改了程式,先在Sublime中儲存,然後在已有的控制台視窗輸入指令碼名進行編譯。

參考資料

1. 利用Sublime Text 2 來執行Matlab  http://www.linuxidc.com/Linux/2016-07/133759.htm 

Ubuntu Server上安裝Matlab http://www.linuxidc.com/Linux/2014-09/106242.htm

Matlab與C/C++聯合程式設計之從Matlab呼叫C/C++程式碼 http://www.linuxidc.com/Linux/2012-08/68148.htm

二分類SVM方法Matlab實現 http://www.linuxidc.com/Linux/2013-05/84050.htm

Matlab中的取整函數fix, floor, ceil與round http://www.linuxidc.com/Linux/2013-10/91161.htm

Matlab編譯cuda的.cu檔案 http://www.linuxidc.com/Linux/2014-04/100675.htm

Linux Matlab伺服器進一步改造成Application Server(應用程式伺服器) http://www.linuxidc.com/Linux/2014-09/106340.htm

Matlab 坐標圖動畫,動態顯示資料 http://www.linuxidc.com/Linux/2016-03/129056.htm

Ubuntu 14.04安裝Matlab2012a過程 http://www.linuxidc.com/Linux/2015-12/126297.htm

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-07/133760.htm


IT145.com E-mail:sddin#qq.com