【问题标题】:Assign vector elements to matrix by coordinates MATLAB通过坐标 MATLAB 将向量元素分配给矩阵
【发布时间】:2013-02-05 16:26:44
【问题描述】:

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

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

所以实际上我有:

行=

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

COLUMN=

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

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

提前致谢!

【问题讨论】:

    标签: matlab vector matrix coordinates assign


    【解决方案1】:

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

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

    【讨论】:

    • 非常感谢,就是这样!我不知道这个命令的存在。应该多阅读一些关于矩阵操作的内容。
    猜你喜欢
    • 2019-08-16
    • 1970-01-01
    • 2017-12-05
    • 1970-01-01
    • 2015-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多