Matlab引擎和disp()函数

Matlab引擎和disp()函数,matlab,matlab-engine,Matlab,Matlab Engine,我有一个脚本需要一些时间来执行。我用C++引擎启动它,使用Matlab引擎。 为了监视脚本的执行,我想在脚本中添加一些disp'still alive'。但是,它不起作用,engOpen打开的matlab命令窗口中没有显示任何内容是的,我确信脚本正在运行,因为我在执行端得到了输出文件 知道我怎样才能让它工作吗 此外,是否可以在脚本运行时使用engOutputBuffer将这些心跳输入Windows命令 谢谢 使用engOutputBuffer、engEvalString和printf将控制台输出

我有一个脚本需要一些时间来执行。我用C++引擎启动它,使用Matlab引擎。 为了监视脚本的执行,我想在脚本中添加一些disp'still alive'。但是,它不起作用,engOpen打开的matlab命令窗口中没有显示任何内容是的,我确信脚本正在运行,因为我在执行端得到了输出文件

知道我怎样才能让它工作吗

此外,是否可以在脚本运行时使用engOutputBuffer将这些心跳输入Windows命令

谢谢

使用engOutputBuffer、engEvalString和printf将控制台输出到Windows命令窗口,而不是MATLAB命令窗口

若要监视脚本的进度,可以在C代码中打开m-script文件,并使用Engelastring逐个命令执行它。每次执行命令后,将缓冲区内容打印到控制台窗口。这种方法的主要问题是如何在打开的m-script文件中隔离解析命令,但如果您希望使用某种脚本,则可以这样做

实现消息监控的另一种方法是在engOutputBuffer之后打开一个线程,该线程将检查缓冲区的内容,并在执行主线程中启动的m脚本的同时执行printf


查看页面底部的示例,了解如何将MATLAB消息输出到控制台Windows命令。

Duh。在我的第一个问题中,我说的是matlab命令。关于我的第二个问题,我知道怎么做,我问的是:是否可以在脚本运行时将内容输出到windows命令中。在c代码中打开.m脚本并使用Engelastring逐行执行。我在回答中提到了控制台输出,而不是matlab命令窗口。逐行执行脚本是一个想法,尽管过于依赖于底层脚本。最后,我希望阅读任何脚本并监视其执行。请用你最后的评论编辑你的答案。