我试图从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循环等来做这件事,我想弄清楚的是有一种数学方法可以在一行中完成吗?
感谢。
答案 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