gpt4 book ai didi

matlab - 让 Matlab 继续而不等待结果

转载 作者:太空宇宙 更新时间:2023-11-03 19:59:47 25 4
gpt4 key购买 nike

我有以下问题:如何告诉 Matlab 它不应该等待函数的结果?除了线程还有其他方法吗?

我的问题:我有一个函数 A,它每隔几秒就会被 Timer 调用一次。如果满足特定事件,则在函数 A 内调用另一个函数 B。函数 B 打开一个批处理文件。我希望功能 A 继续执行而不等待功能 B 结束。有什么方法可以轻松做到吗?

如果这个问题已经被问到,我很抱歉,但我找不到满意的答案。还请原谅我的英语不好。

我要感谢所有回答的人的帮助。

最佳答案

在您的函数 B 中,只需调用行尾带有 & 的批处理文件。

例如:

!mybatch.bat &

这将在后台模式下运行文件 mybatch.bat,并在调用后立即将执行返回到 Matlab。

或者如果您更喜欢完整的表格:

[status, result] = system('mybatch.bat &')

但在这种情况下它有点没用,因为后台系统调用mybatchresult变量总是空的,status 始终为 0(无论是否找到并执行文件 mybatch.bat)


编辑:这是一个快速技巧,以防只是批处理文件的执行减慢了您的程序。

如果你在函数B中有更多的matlab指令并且你确实需要函数A继续而不等待,你将不得不设置一个以函数B作为回调的监听器对象。然后在您的函数 A 中触发事件(这将激活监听器并调用函数 B)。

关于matlab - 让 Matlab 继续而不等待结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26440007/

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