前段时间的一个问题matlab gui 循环计算过程实现暂停和继续计算(编号426631696194936852)是题主问的吧?
由于度娘弱智又恶心的过滤机制,后续的交流一直不顺畅(我试图通过评论说明多次被删,也看到多次有评论提醒,但打开却看不到),现把代码上传到这里。
基本做法是,在进行循环之前,加上以下几句:
fig=gcf; figure(fig);setappdata(fig,'Disu_Pause',0)
set(fig,'WindowButtonDownFcn','setappdata(gcbf,''Disu_Pause'',~getappdata(gcbf,''Disu_Pause''))');
然后,在每个循环体的最里层的最前面,加上
% 通过获取自定义的数据Disu_Pause判断是否暂停;关闭窗口则退出try
while true
if ~getappdata(fig,'Disu_Pause')
break
else
pause(001)
end
end
catch me
return
end
基本思想:
1、通过自定义窗口的应用数据避免使用全局变量;
2、设置窗口的WindowButtonDownFcn回调函数在点击鼠标时改变应用数据;
3、在每个循环中,如果状态为pause,则利用形式上的死循环进行等待(每次001秒,是系统时钟的精度),如果不是状态,则退出等待的循环体;
4、用try-catch结构,在关闭窗口时返回(即退出程序)。
用pause命令
直接用pause的话,就是程序暂停,直至用户按任意键
如果加参数
比如pause(5)就是程序暂停5秒
放在合适的位置就可以完成你的功能
可以。
按F5 继续运行程序/调试模式,按F10可以单步运行调试,也可在Debug菜单下和工具条(第一条)中找到。
Matlab中的常用快捷键
一、在命令窗口(Command Window)中:
(1)↑、↓——切换到之前、之后运行过的命令,可以重复按多次来达到你想要的命令;
(2)Tab——自动补全。在command窗口,输入一个命令的前几个字符,然后按tab键,会d出以前面这几个字符开头的所有命令,找到你要的命令,回车,就可以自动完成;
(3) Ctrl + C/Break——在Matlab程序运行过程中,可能由于程序编写的失误,导致程序不停的运行,在命令窗口输入 “Ctrl+C”可以将运行的程序停下来,而不需要将整个Matlab程序关掉,不过进行此 *** 作的前提是能够激活切换到命令窗口才行;
(4) clc----清除命令窗口显示的语句,此命令并不清空当前工作区的变量,仅仅是把屏幕上显示出来的语句清除掉;
(5) clear----这个才是清空当前工作区的变量命令,常用语句clear all来完成。
二、在编辑器(Editor)(m文件)中:
(1)Tab(或Ctrl+])----增加缩进(对多行有效);
(2) Ctrl + [ ----减少缩进(对多行有效);
(3)Ctrl + I----智能缩进(即自动排版,对多行有效);
(4)Ctrl + B----括号配对检查(对版本65有效,但版本70无效,更高版本可以自动检查括号匹配,甚至语法错误,不需要快捷键);
(5)F5——运行程序/调试模式 继续;
(6)Shift + F5——退出调试模式。
在matlab编程中,有时候会遇到死循环或者其他情况程序运行不完,在这时就要强行终止程序的运行,以前一直都是用任务管理器强行关matlab,但是这样比较麻烦,今天查了一下,原来很简单ctrl+c或者ctrl+break都行!
打开任务管理器,手动关闭matlab进程
任务管理器是ctrl+alt+delete或者右键桌面下方菜单栏打开的,然后选择“进程”选项卡找到matlabexe的进程右键结束它
以上就是关于matlab gui 循环计算过程实现暂停和继续计算全部的内容,包括:matlab gui 循环计算过程实现暂停和继续计算、鼠标或键盘如何控制matlab循环的暂停和继续、在matlab中用ctrl + c或者ctrl+break暂停了正在运行的程序后能否让其继续运行等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)