上面代码运行出现的错误:位置 1 处的索引超出数组边界(不能超出 2)
时间: 2023-09-21 20:07:48 浏览: 102
关于C#索引超出了数组界限的问题??
4星 · 用户满意度95%
这个错误是由于 `row_idx` 中存在小于 1 或大于 101 的值,导致访问 `img` 时出现了越界。可以在计算 `row_idx` 时加上一些边界处理来解决这个问题,例如:
```
% 将正弦函数的值映射到图片的行索引
row_idx = round((y + 2) * 50) + 1; % -2~+2 映射到 1~101
row_idx(row_idx < 1) = 1; % 处理小于1的索引
row_idx(row_idx > 101) = 101; % 处理大于101的索引
img(row_idx, :) = 1 - img(row_idx, :); % 将所在行的颜色反转
```
这样就可以避免越界错误了。
阅读全文