在你的停止的回调函数里面改变if要判断的量是否为停止的信息就行
给你举个例子
if flag==1
break;
end
你的flag初始化时1,在停止按钮里面设置为0即可
flag作为一个全局变量即可!在matlab编程中,有时候会遇到死循环或者其他情况程序运行不完,在这时就要强行终止程序的运行,以前一直都是用任务管理器强行关matlab,但是这样比较麻烦,今天查了一下,原来很简单ctrl+c或者ctrl+break都行!只需要在linux的命令行下执行:
matlab
-nodesktop
-nosplash
-r
“
你的程序的名字”
(前提是matlab所在的目录在你的PATH变量包含的目录中)
可以考虑这样修改:
h=surf(peaks);%随机一个三维图形axis vis3d;%使用3D视图
for i=1:200;%设定旋转循环次数
try get(h,'type');catch,break,end
camorbit(3,0);%每次旋转角度
drawnow;%刷新图像
pause(002);%每次循环暂停002秒
end;%结束
基本思想:每次循环先试图验证图形对象仍然还在,如果不在就退出循环。
if x~=0后面的程序
end
如果程序在文件中(不是直接复制到command window中运行),也可以这样写
if x==0
return;
end
后面的程序
在这里可以运用continue语句,因为continue表示直接进入该层的下一层迭代。
实现代码如下:
拓展说明:
Matlab中有关控制循环的有三个命令,break,continue和return。
1 使用break 退出循环 可以使用break 语句直接强行退出循环,忽略循环体中任何其他语句和循环条件测试。在循环中遇到break语句时,循环被终止,程序控制在循环后面语句重新开始。
例如 ,如果for 循环被设计为从 0执行到99,然后输出0到99这些数字,但是当i等于10时,break语句终止程序。所以程序只会输出0到10。
在一系列嵌套循环中使用break 语句时,它将仅仅终止最里面循环。
2 而continue则停止执行当前的反复,然后退回循环起始和,开始新的反复。continue 用于跳过循环体中的一部分语句,也就是不执行这部分语句 。
3 return语句用来明确地从一个方法返回。也就是,return 语句使程序控制返回到调用它方法。因此,将它分类为跳转语句。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)