在 Matlab 中,我有这个矩阵:
Grid
有尺寸[x,y]
我已将其重塑为单行矩阵
Row
与尺寸[1,x*y]
。
我怎么知道在哪里可以找到Grid(x,y)
矩阵中的坐标,Row(1,?)
反之亦然?Matlab中有这个功能吗?
在 Matlab 中,我有这个矩阵:
Grid
有尺寸[x,y]
我已将其重塑为单行矩阵
Row
与尺寸[1,x*y]
。
我怎么知道在哪里可以找到Grid(x,y)
矩阵中的坐标,Row(1,?)
反之亦然?Matlab中有这个功能吗?
是的,功能sub2ind
和ind2sub
是您正在寻找的。我认为。
您能否提供有关如何“转换矩阵”的更多信息?
标准方法是使用B = reshape(A,m,n)
可以在http://www.mathworks.com/help/techdoc/ref/reshape.html的 Matlab 文档中看到的方法
重塑:
返回 m×n 矩阵 B,其元素从 A 中按列获取。如果 A 没有 m*n 元素,则会导致错误。
例如,
a = [1,2,3;4,5,6;7,8,9]
1 2 3
4 5 6
7 8 9
reshape(a,9,1)
1
4
7
2
5
8
3
6
9
因此,可以使用 sub2ind(matrixSize, rowSub, colSub) 即
sub2ind([3,3], 2, 3)
正如预期的那样,将产生 8