matlab - 调试时只针对特定的循环索引
问题描述
MATLAB 有一些方便的特性,有助于通过函数调用来简化代码调试,如下所示:
"step"
执行一行而不显示函数体指令。"step in"
如果可能,导航到相应的函数体。"continue"
通常执行代码行直到下一个断点。
有什么方法(或破解,因为我在调试器工具中找不到选项)来加速循环迭代到所需的索引?在尺寸大于 300x300 的图像中手动迭代像素索引是一种荒谬的浪费时间。
假设我想在以下循环中快速到达特定索引,例如x=50
and y=90
:
for x=leftxlimit:rightxlimit
for y=topylimit:botylimit
if (toplayers2(y,x) == 0)
...
end
end
end
解决方案
您应该使用条件断点
在循环中设置断点,右键单击并选择“设置/修改条件”。
然后,您可以x == 50 && y == 50
使用工作区变量和标准 MATLAB 表达式设置条件“”(或其他任何内容)。
这样,您可以正常运行代码(无需单步执行),并且当且仅当条件为真时,它将在该行停止。
如果您想在一条线上停止多个x
ory
值,只需将您的条件表述为在这些值上为真x == 50 && y >= 50 && y <= 60
,例如。
推荐阅读
- machine-learning - 根据人类规则生成名称
- asp.net-mvc-5 - signalr2 asp.net,vc5 如何为发送和接收的消息设置不同的 CSS 样式?
- python - Django中的作业调度
- javascript - 角度 6 的无限双向滚动容器
- sql-server - SQL Server 查询中的 SQL Pivot 交换值
- swift - 如何向一个 UITextView 添加多种样式 - 就像 iOS Notes 应用程序一样
- powershell - 在一行中链接两个数组变量
- python - 在 for 循环中保存文本文件
- java - OOP:具有依赖注入的可重用类
- mysql - 通过空间索引优化附近位置 MYSQL 查询