gpt4 book ai didi

windows - 在 Windows 上以编程方式中断 MATLAB

转载 作者:可可西里 更新时间:2023-11-01 14:25:05 25 4
gpt4 key购买 nike

当通过 GUI 使用 MATLAB 时,我可以通过按 Ctrl-C 来中断计算。

在通过 the MATLAB Engine C API 使用 MATLAB 时,有没有一种方法可以以编程方式 执行相同的操作? ?

在 Unix 系统上有一个解决方案:send a SIGINT signal .这不会杀死 MATLAB。它只会中断计算。我正在寻找适用于 Windows 的解决方案。


澄清(看到唯一的回答者误解了):

我正在寻找一种方法来中断任何 MATLAB 计算,而无需控制正在运行的 MATLAB 代码。我正在寻找在 Windows 系统上的 MATLAB 命令窗口中按 Ctrl-C 的编程等效项。这是a Mathematica-MATLAB interface : 我需要将中断从 Mathematica 转发到 MATLAB。如上所述,我已经在 Unix 上有一个可用的实现;这个问题是关于如何在 Windows 上进行的。

最佳答案

一种方法是在执行长时间计算之前使 MATLAB 引擎 session 可见。这样,如果您想中断执行,只需将可见的命令窗口置于焦点并按下 Ctrl-C。

这可以使用 engSetVisible 来完成功能

这是我尝试使用 MATLAB COM Automation 的一个简单示例。该过程应该类似,因为 MATLAB 引擎 是在 Windows 上使用 COM 实现的(管道在 Unix 上使用)。

脚本是在 Powershell 中完成的:

# create MATLAB automation server
$m = New-Object -ComObject matlab.application
$m | Get-Member

# make the command window visible
$m.Visible = $true

# execute some long computation: pause(10)
$m.Feval('disp', 0,[ref]$null, 'Press Ctrl-C to interrupt...')
$m.Feval('pause', 0,[ref]$null, 10)

# close and cleanup
$m.Quit()
$m = $null
Remove-Variable m

在暂停期间,您可以通过在命令窗口中按 Ctrl+c 来中断它:

cmd-window

关于windows - 在 Windows 上以编程方式中断 MATLAB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16629220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com