Matlab,来自N x M矩阵的1 x M矩阵

时间:2015-09-21 11:37:01

标签: matlab matrix

我试图从N x M矩阵中减去1 x M矩阵。

假设我的1 x M矩阵是[1 2]

和我的N x M矩阵是[3 4; 5 4; 1 6]

我想要的结果是[2 2; 4 2; 0 4]

我知道如何使用for循环等来做这件事,我想弄清楚的是有一种数学方法可以在一行中完成吗?

感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用repmat功能将1xM矩阵扩展为NxM,然后执行减法。

>> M = [1 2];
>> N = [3 4; 5 4; 1 6];
>> N - repmat(M, length(N), 1)
ans =

     2     2
     4     2
     0     4

另外,正如Divakar指出的那样,您可以使用

>> bsxfun(@minus, N, M)
ans =

     2     2
     4     2
     0     4