1

我想创建一个二维向量矩阵。每个向量都应包含其在矩阵中自己位置的 x/y 索引(或 i,j,如果需要)。

基本上我想要这样的东西:

具有二维向量的矩阵

我知道我可以在 for 循环中创建它,但是有更简单的方法吗?Matlab 有这么多有用的功能,它不止一次让我感到惊讶。

4

1 回答 1

5

meshgrid将让您大部分时间到达那里:

>> [X,Y] = meshgrid(0:2, 0:2)

X =

     0     1     2
     0     1     2
     0     1     2


Y =

     0     0     0
     1     1     1
     2     2     2

您通常不能在 Matlab 中拥有“向量矩阵”。另外两个选项:

  1. 制作向量的“单元阵列”。
  2. 制作一个三维矩阵(NxMx2),其中第三维索引为 X 或 Y(即行或列)

要实现第二个选项:

coords(:,:,1) = X
coords(:,:,2) = Y

一个后续问题:你为什么要这样做?

于 2013-06-28T09:51:36.100 回答