【发布时间】:2011-06-24 19:19:23
【问题描述】:
我知道 Matlab 有可能使用 input() 暂停 Matlab 函数或脚本,因此当我有一个 for 循环并想在每次迭代时暂停它时:
for i = 1:N
reply = input(sprintf('Pausing in iteration %d! Continue with Enter!', i), 's');
% Calculations
end
但是如何使以下工作:通常它会在没有暂停的情况下运行(好像 input() 不存在)但是当用户执行某些操作时(可能在 matlab 中按下一个键、一个按钮或类似的东西) ,脚本/函数会暂停每次迭代,直到用户再次执行此操作,因此是这样的。例如。假设当按下某个热键组合时,matlab 有可能切换变量,例如Ctrl+Alt+A 在 0 和 1 之间切换变量 myToggle 我可以轻松做到:
for i = 1:N
if(myToggle == 1)
reply = input(sprintf('Pausing in iteration %d! Continue with Enter!', i), 's');
end
% Calculations
end
提前致谢!
编辑:刚刚在这里找到了一种可能的解决方案:Function to ask a MATLAB program to wait for an event before continuing execution 我可以在函数/脚本的开头创建一个文件,并在下一次迭代不再存在时暂停。但这需要用户重命名不太“舒服”的文件......还有其他想法吗? :)
【问题讨论】:
-
您是否只想暂停该功能并打印一些文本?还是每次迭代都需要输入新数据?
-
是的,只是暂停,
input()只是用来让用户按“输入”按钮继续。
标签: matlab user-controls toggle