matlab中的向量操作

时间:2015-04-11 12:46:02

标签: arrays matlab vectorization

如何从列向量1xN中减去大小为Mx1的行向量的每个元素 没有在MatLab中使用循环?

N = 1:100
M = ones(1000,1)

1 个答案:

答案 0 :(得分:2)

您可以按照Daniel

的建议使用bsxfun
out = bsxfun(@minus, N,M);

但使用meshgridndgrid来获取所需的矩阵可能更为明显:

out = meshgrid(N-1,M);

这两个函数在内部使用repmat is slower than bsxfun,所以请选择第一种方法。而bsxfun始终是最快的解决方案;)