在windows cmd下启动matlab command
通常情况下,我们只需要下一些简单的matlab脚本用于计算,因此直接启动matlab费时费力。因此我找到了几种便捷之法。
在此强调一下,实现本文的方法需求如下
- 较新版本的matlab,本文用的是matlab R2021b。
- 较新版本的python,本文用的是python3.9,不同版本的matlab支持的python版本有区别,具体可以搜索相关的博客。
- 熟悉cmd等交互操作。
启动不带JVM虚拟机的matlab命令行
步骤:
1. **复制桌面的matlab图标** ;

2. 右键单击该快捷方式,选择属性;

3. 在目标后面加上一段文本:`-nojvm`,表示不启动jvm;

4. 然后双击该复制的图标即可启动不带有jvm的matlab命令行,因为不启动jvm虚拟机,所以很快。

进一步的思考
可能你也发现了,这个matlab原生的command不是很好看,还有一些无法正常显示的符号(其实那是中文字符)。
如果能够想python,julia,r这一类语言一样,能在cmd中直接交互就好了,经过我一下午的摸索发现可行。

实现步骤
1. 下载vscode的插件matlab interface terminal,你可以在vscode的拓展商店里下载,也可以直接在github上搜索下载,建议在vscode里下载(前提是你使用vscode)。如果不想折腾可以就在vscode的终端里根据说明启动matlab terminal。但这不是最快的,因为你每次打开matlab时你都会打开vscode。因此我建议你继续看下去。
2. vscode的插件文件一般在c盘用户目录下(C:\Users\your username)的`.vscode\extensions`文件夹下,看准含有插件名的文件夹点进去。


其中关键源码在`interfaces\unicode`文件夹下,选择`unicode`文件夹而不是`standard`是因为`unicode`的代码能处理中文字符乱码的情况。
2. 有了关键的代码后,还需要安装matlab对python的支持(安装一个python库),让python能调用matlab command。在你的matlab安装目录下,进入`extern\engines\python`,在cmd中执行:
python setup.py install
可能会需要用管理员权限启动cmd运行上述指令。

3. 然后就可以用python运行`unicode`下的代码启动在cmd交互的matlab command了(在`unicode`文件夹下)。下面是两行cmd命令:
cd c:\Users\your username\.vscode\extensions\apommel.matlab-interactive-terminal-0.4.0\interfaces\unicode
python ml_terminal.py


4. 当然不可能每次都有手打命令的方式启动cmd下的交互式matlab command,因此你需要把上面的两行cmd命令copy到一个文本文件中去,其中`your username`改成你自己的,`apommel.matlab-interactive-terminal-0.4.0`代表插件文件夹名也改成你自己的,再改后缀`.txt`为`.bat`即可。