Я обобщил функцию vecnorm
для вычисления нормы по векторам, хранящимся в матрицах NxNx3.Я хотел бы сделать это быстрее, путем векторизации, но не смог этого сделать.Вот моя текущая функция
function [nr]=VecNorm(r)
N = size(r,1);
nr = zeros(N,N);
for i=1:N
for j=1:N
nr(i,j)=norm(reshape(r(i,j,:),[1 3]));
end
end
end
Пример ввода / вывода
N=2;
A = 4.*shiftdim( repmat( eye(3,3), 1, 1, N, N ), 2 );
c = ones(2,2);
V(1,1,:)=[1 2 3];
u = c.*V;
VecNorm(u)
ans =
3.7417 3.7417
3.7417 3.7417