通过坐标MATLAB将矢量元素分配给矩阵

时间:2013-02-20 15:34:36

标签: matlab vector matrix coordinates assign

我有一个值向量,我想分配给NxN矩阵。矢量值对应于矩阵的下半部分,但矩阵是对称的。

问题在于矢量值不是按顺序排列,而是非常混乱,我看到这种情况的唯一方法是通过矩阵中相应的坐标来分配值。这些坐标是已知的,可用作不同的向量。

实际上我有:

ROW =

 1    25    26    27    28    29    30     2    37    38 ...

COLUMN =

 1     1     1     1     1     1     1     2     2     2 ...

VECTOR =

1.2694   -0.1983    0.0574    0     0      0      0    1.2694    0      0 ...

...其中值代表:k(1,1)= 1.2694,k(25,1)= - 0.1983,k(2,2)= 0 ......等等

我想要的结果是:K = [

  1.2694      k(1,2)   k(1,3)   ...
     0         0     k(2,3)     ...    
 -0.0951   -0.0261    0.3019    ...    
     .         .         .      ...
     .         .         .      ... 
     .         .         .      ...                

我偶尔会使用matlab,而且不是专业人士。这就是我认为可行的方式,因为没有别的东西可用。

如果有人可以提供帮助,或者有其他想法来解决这个问题,我将不胜感激。

提前致谢!

1 个答案:

答案 0 :(得分:2)

您可以使用sub2ind执行此操作。

ind = sub2ind( size(K), R,C);

K(ind) = V;