04/8
20:59
Matlab

矩阵的自我复制 repmat

之前一直在计算一个矩阵的每行或者每一列减去一个向量的时候使用for循环,可是for循环在matlab里面是非常耗时的一种用法,所以能少用就尽量避免。特意去搜了一下,用repmat将向量扩充为矩阵应该可以解决吧(虽然我觉得很耗空间)。

>> b

b =

     1     2     3     4
     2     4     6     8
     3     6     9    12
     4     8    12    16

>> a

a =

     1
     2
     3
     4

>> c = b-repmat(a,1,4) % 第一个参数是要复制的矩阵(或向量) 第二个参数是复制几行a 第三个参数是复制几列a

ans =

     0     1     2     3
     0     2     4     6
     0     3     6     9
     0     4     8    12

发表评论