如何从列向量1xN
中减去大小为Mx1
的行向量的每个元素
没有在MatLab中使用循环?
N = 1:100
M = ones(1000,1)
答案 0 :(得分:2)
您可以按照Daniel
的建议使用bsxfun
out = bsxfun(@minus, N,M);
但使用meshgrid
或ndgrid
来获取所需的矩阵可能更为明显:
out = meshgrid(N-1,M);
这两个函数在内部使用repmat
is slower than bsxfun
,所以请选择第一种方法。而bsxfun
始终是最快的解决方案;)