sqrt()
стоит дорого, поэтому убедитесь, что он вам действительно нужен, или, как указал Йонас, если вы могли бы вместо этого установить пороговое значение для квадрата радиуса
в зависимости от ваших данных, используйте знания о симметрии нормы, чтобы уменьшить количество вычислений sqrt
предварительно рассчитать квадраты перед генерацией сетки
что-то вроде (не проверено):
x = linspace(-5, 5, 100);
y = linspace(-5, 5, 100);
z = linspace(-5, 5, 100);
[xp2, yp2, zp2] = meshgrid(x(1:end/2).^2, y(1:end/2).^2, z(1:end/2).^2);
norm_quadrant = sqrt(xp2 + yp2 + zp2);
norm_temp1 = cat(1, norm_quadrant, flipdim(norm_quadrant, 1));
norm_temp2 = cat(2, norm_temp1, flipdim(norm_temp1, 2));
norm_complete = cat(3, norm_temp2, flipdim(norm_temp2, 3));