我尝试在matlab中使用sub2ind函数,以便从矩阵中获取一个向量,该矩阵表示我想要提取的线性函数,如以下示例:
基质M:
01 02 03 04 05
06 07 08 09 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
字符串
线性函数,我用它来表示我想从矩阵中提取的向量。我想绕着中心旋转,所以我从0的斜率开始,然后递增,直到90°。
slope = 20; Approx. 3°
y = slope * x
型
我想要这个输出:
0 0 0 1 0
0 0 1 0 0
0 0 1 0 0
0 0 1 0 0
0 1 0 0 0
型
或者直接这个向量:
V = {22, 18, 13, 08, 04}
型
我用matlab写了这段代码:
M = zeros(201);
x = -1:0.01:1;
y = 20 * x;
sub2ind(size(m), y, x);
型
我得到了以下错误:
Error using sub2ind
Out of range subscript.
型
我检查了x,y和M的大小,应该可以...
1条答案
按热度按时间mtb9vblg1#
您需要将坐标(假设0是数组的中间)转换为适当的索引(从数组的左侧和顶部的1开始)。您还需要将坐标舍入为索引,并删除重复项。这段代码做了这些事情:
字符串