我有一个nx2矩阵M
,我想从它的每一行中减去一个向量p
。像:
M(1,1)=M(1,1)-p(1); M(1,2)=M(1,2)-p(2);
M(2,1)=M(2,1)-p(1); M(2,2)=M(2,2)-p(2);
等等
然后我想将修改后的M
折叠为像
N
N(1)=norm(M(1,:));
N(2)=norm(M(2,:));
等等
我可以轻松编写for
循环来执行此操作。是否有一种矢量化的方法可以立即执行此操作?
答案 0 :(得分:0)
您可以使用bsxfun并手动计算标准:
% Subtract P
M = bsxfun(@minus, M, p);
% Calculate the norm
N = sum(M .^ 2, 2) .^ 0.5;