Matlab命令窗口选项卡(选项卡式)

时间:2012-05-19 14:21:59

标签: linux matlab unix

您好,我希望这个问题符合社区准则。在Matlab中工作时,如果命令窗口有标签(就像Linux中的大多数终端模拟器一样),我真的很感激。可以在Matlab中使用,还是必须运行不同的Matlab实例?

我正在运行一个生成绘图的系统,因此无法通过-nojvm在基于文本的模式下运行Matlab。

编辑:有没有办法获得这样的功能,或者我必须等待Mathworks唤醒并实现这个简单省时的工具。

嗯,我认为Matlab的工作方式(使用工作区和编辑器)选项卡在性能方面可能不是那么有利,而不是仅运行新的Matlab实例。

3 个答案:

答案 0 :(得分:0)

据我所知,没有这样的功能。

虽然您是否知道可以使用-nodesktop标志在当前控制台中运行Matlab并且仍然能够调出图表?

答案 1 :(得分:0)

嗯 - 取决于你打算用标签做什么。你有文件编辑器,变量编辑器的标签。但我想你的意思是命令窗口。

我有时会打开两个或更多个Matlab实例 - 一个做一些计算并做一些观察和另一个快速的东西 - 但我认为这不合适。

我发现反对使用多个实例,偏好和路径定期“无法使用”(比如每月一次)。

但是由于Matlab是“单一”线程 - 而在计算它几乎不可能做简单的任务,如编辑代码或在同一个实例中打开文件。如果它有标签我想象它更糟糕。我认为这个问题在Matlab的工作原理中非常深入,所以不会很快改变。

答案 2 :(得分:0)

在Linux中,您可以使用unix命令分叉新的MATLAB实例,并将要作为命令行参数运行的MATLAB命令传递给它。如果将&添加到unix输入字符串的末尾,则新的MATLAB实例将成为后台进程,因此从一个MATLAB命令窗口可以在几个MATLAB实例中运行命令(带输出) ,为命令执行和输出打开一个新的MATLAB实例。

以下是代码:

multithread.m:

function multithread(MatlabCommand)
% this is a function to create a new MATLAB instance and run a command in it.
unix([ 'matlab -desktop -r ', MatlabCommand, ' &' ]);
return

testfunction.m:

function testfunction()
fprintf('one two three.\n');
return

然后,您可以通过以下方式在新实例中运行MATLAB命令:multithread('testfunction');