Quasi-Euclidean Norm
バージョン 3.0.0 (1.5 KB) 作成者:
Moreno, M.
Returns the quasi-euclidean norm of an array in 1, 2 or 3 dimensions.
Calling [x, e] = qnorm(X, dim) returns the quasi-euclidean norm of X along its rows or columns for dim = 1 or 2, respectively, and the calculation error compared to the Euclidean norm. The values are derived from the information of neighbourhoods using 1, 2 or 3D distance transforms in (1), (2 2) or (3 3 3) voxel models.
The coefficients or weights are calculated seeking to maximise the norm of the vector X (approaching the L2 norm value within a small error). This makes this function a good approximation for the euclidean distance without the need for square roots or powers.
An example of the use of this function is:
n = 200;
[x, y, z] = meshgrid(-1 : 2 / (n - 1) : 1);
d = zeros(size(x));
for i = 1 : n
for j = 1 : n
for k = 1 : n
d(i, j, k) = qnorm([x(i, j, k) y(i, j, k) z(i, j, k)]);
end
end
end
s = isosurface(x, y, z, d, 0.5);
p = patch(s);
isonormals(x, y, z, d, p)
view(3)
set(p, 'FaceColor', [0.85 0.85 0.85])
set(p, 'EdgeColor', 'none')
axis equal
camlight
lighting gouraud
引用
Moreno, M. (2024). Quasi-Euclidean Norm (https://www.mathworks.com/matlabcentral/fileexchange/108209-quasi-euclidean-norm), MATLAB Central File Exchange. に取得済み.
MATLAB リリースの互換性
作成:
R2022a
すべてのリリースと互換性あり
プラットフォームの互換性
Windows macOS Linuxタグ
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!