我刚刚开始用Matlab进行实验,因为我已经习惯了Vim的界面,所以我尽量避免使用Matlab的编辑器.令我不安的是,每次我启动.m文件时,它都会调出界面.
有没有办法从cmd行启动test.m,让它在cmd上输出,就像在Matlab的环境中一样.像"Matlab shell"(像Python一样,只有Matlab的)?
要回答你的问题,请像这样开始matlab:
matalb -nodesktop -nosplash
这适用于Linux和Windows.在linux上,在命令提示符下键入它,matlab将在文本模式下的同一命令窗口中运行.所以你会得到你想要的"matlab shell".在Windows上,cd进入安装了matlab的目录,然后键入相同的命令.它将打开一个精简的matlab命令行窗口,没有matlab桌面的所有铃声和口哨声.
现在我个人认为,带有集成调试器的matlab编辑器是你的朋友.如果有帮助的话,它还有emacs键绑定.当matlab以文本模式运行时,执行命令并在matlab桌面中查看结果也更容易.你真正想要使用文本模式的唯一一次是你的matlab代码需要很长时间才能运行,而你只对最终结果感兴趣.或者,如果您正在运行多个matlab实例.文本模式占用的内存要少得多,在Linux上,您可以轻松地从命令行开始运行并将其置于后台.
实际上,检查matlab的命令行参数.你可以做其他有趣的事情,比如让matlab执行单个函数并退出,la perl,或者将脚本重定向到matlab,如下所示:matlab < script.m
你真的愿意做没有m文件调试器的开发工作吗?在我看来,这将限制你几乎琐碎的程序.经过一个非常简短的学习曲线,我认为你会发现Matlab集成调试器非常棒(而且我是VS的人).
如果您坚持这样做,最好的选择是将您的m文件编译为独立运行.这将需要访问(不便宜)matlab编译器.
请注意,使用高达6.5的matlab版本分发的编译器与使用matlab 7+分发的编译器(不知道编译器版本号)之间存在显着差异.在6.5中,编译器生成了c代码,可以单独编辑和编译.从7开始,编译器没有编译,转换或任何代码生成:今天运行"编译"程序实际上在称为MCR的虚拟Matlab机器上运行它- 它几乎包含所有matlab功能.这是一个庞大的 - MCR安装程序(安装程序!)上次我检查时加权130M.
关于这方面的一些争论仍然可以在新闻组中找到,但现在这并不重要.事实上,MCR方法似乎更接近您的追求.
顺便说一句,对我来说,matlab -nosplash -nodesktop
在Windows上完美运行 - 它启动matlab作为控制台,但这会剥夺你们的文本编辑器和调试器......