如何停止在 Matlab/GNU Octave 中使用 'run' 启动的脚本?

How to halt a script launched with 'run' in Matlab / GNU Octave?

有什么方法可以停止使用 'run' 或 'source' 从 Matlab / GNU Octave 启动的脚本吗?我的意思是与 Ctrl-C 不同,假设给定条件(可能由全局变量给定)成立并向其发送中断信号。

示例:

environment 变量的值大于 0.5 时,脚本 haltable.m 将被停止。

global environment

while (true)
  environment = rand;
endwhile

它是用

启动的
global environment

run ('haltable.m')

哪里(当然haltable.m以外的地方)能不能规定满足条件就必须停机?

不可能在脚本外实现这样的停止条件,matlab是单线程的,外面什么都不执行。也许条件断点就是您要找的。

dbstop in haltable at 5 if (environment>.5)

您必须将 5 替换为正确的行号。这不会停止脚本,而是暂停它并切换到调试器。