1

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

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

所以实际上我有:

行=

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

栏=

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

矢量=

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 的偶尔用户,而且绝对不是专业人士。这就是我认为可行的方式,因为没有其他有用的东西出来。

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

提前致谢!

4

1 回答 1

2

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

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

K(ind) = V;
于 2013-02-20T15:46:20.223 回答