首页 > 解决方案 > 调试时只针对特定的循环索引

问题描述

MATLAB 有一些方便的特性,有助于通过函数调用来简化代码调试,如下所示:

有什么方法(或破解,因为我在调试器工具中找不到选项)来加速循环迭代到所需的索引?在尺寸大于 300x300 的图像中手动迭代像素索引是一种荒谬的浪费时间。

假设我想在以下循环中快速到达特定索引,例如x=50and y=90

for x=leftxlimit:rightxlimit
    for y=topylimit:botylimit
        if (toplayers2(y,x) == 0)
            ...
        end
    end
end

标签: matlabloopsdebugging

解决方案


您应该使用条件断点

在循环中设置断点,右键单击并选择“设置/修改条件”。

然后,您可以x == 50 && y == 50使用工作区变量和标准 MATLAB 表达式设置条件“”(或其他任何内容)。

这样,您可以正常运行代码(无需单步执行),并且当且仅当条件为真时,它将在该行停止。

如果您想在一条线上停止多个xory值,只需将您的条件表述为在这些值上为真x == 50 && y >= 50 && y <= 60,例如。


推荐阅读