最近使用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