Matlab,向矩阵添加向量

时间:2017-08-18 06:47:18

标签: matlab octave

我想在现有矩阵中添加一个矢量。

示例:

matrix=[1 2 3
        4 5 6
        0 7 0]

vector = [7
          8]

所以目标是找到相同数量的向量和矩阵,例如:

ismember(matrix,vector)

之后,矢量应插入矩阵中,如下所示:

matrix=[1 2 3
        4 5 6
        0 7 0
        0 8 0]

1 个答案:

答案 0 :(得分:4)

您可以更好地将find与两个输出参数一起使用,而不是使用>> [row, col]=find(matrix==vector(1)) row = 3 col = 2

>> matrix(row:(row+length(vector)-1),col) = vector
matrix =
     1     2     3
     4     5     6
     0     7     0
     0     8     0

使用Matlab的自动矩阵扩展,并假设向量是列向量(您可以相应地调整代码):

row~=size(matrix,1)

如果匹配不在边缘(即{{1}}),这将无效,因为向量会覆盖其他条目。