Matlab 调试时只需指定特定的循环索引
MATLAB具有一些方便的功能,有助于通过函数调用轻松调试代码,如下所示:Matlab 调试时只需指定特定的循环索引,matlab,loops,debugging,Matlab,Loops,Debugging,MATLAB具有一些方便的功能,有助于通过函数调用轻松调试代码,如下所示: 执行一行而不显示函数体指令的步骤 “单步执行”,尽可能导航到相应的功能体 “继续”通常执行代码行,直到下一个断点 有没有任何方法(或者黑客,因为我在调试器工具中找不到任何选项)来加速循环迭代到所需的索引?在尺寸大于300x300的图像中手动迭代像素索引是一种荒谬的时间浪费 假设我想在下面的循环中快速达到一个特定的索引,例如x=50和y=90: for x=leftxlimit:rightxlimit for
- 执行一行而不显示函数体指令的步骤
,尽可能导航到相应的功能体“单步执行”
通常执行代码行,直到下一个断点“继续”
x=50
和y=90
:
for x=leftxlimit:rightxlimit
for y=topylimit:botylimit
if (toplayers2(y,x) == 0)
...
end
end
end
你应该使用
在循环中设置断点,右键单击并选择“设置/修改条件”
然后,可以使用工作空间变量和标准MATLAB表达式设置条件“x==50&&y==50
”(或其他任何内容)
通过这种方式,您可以正常运行代码(无需单步执行),并且只有当且仅当条件为true时,代码才会在该行停止
如果您想在一行上停止多个
x
或y
值,只需将这些值的条件设置为true,如x==50&&y>=50&&y。您还可以使用dbstop
:dbstop in files-spec at-LINENO If EXPRESSION
,通过编程设置断点。