mex_sepsq

版本 1.8.0.0 (72.9 KB) 作者: Ben Mitch
Fast, dedicated, code to compute Euclidean separation between sets of points in N-dimensional space.
2.2K 次下载
更新时间 2010/11/22

查看许可证

To compute the Euclidean separation (L2 norm) between two sets of points in MATLAB can be slow and/or memory-hungry. In some cases (most particularly, if you are working with 2D, 3D or 4D data), this function will do it 2-4 times faster than the fastest m-code I've seen (due to Germano Gomes) and hundreds of times faster than a typical memory-efficient nested loop.

NB: for D much greater than 10-15, performance is better using GG's m-script. See the screenshot for a performance plot - green is GG, blue is mex_sepsq.

>> mex_sepsq_demo

A = randn(4, 5000);
B = randn(4, 5000);

C1 = mex_sepsq(A, B);
Elapsed time is 0.201335 seconds.

C2 = sepsq_gg(A, B);
Elapsed time is 0.517755 seconds.

Relative time per implementation: 1.00 2.57

引用格式

Ben Mitch (2024). mex_sepsq (https://www.mathworks.com/matlabcentral/fileexchange/3966-mex_sepsq), MATLAB Central File Exchange. 检索时间: .

MATLAB 版本兼容性
创建方式 R2010a
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Statistics and Machine Learning Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
版本 已发布 发行说明
1.8.0.0

whoops, broke the linux implementation - fixed, now.

1.7.0.0

Improved performance, added benchmarking.

1.2.0.0

Provided a demo and an auto-compile script.

1.0.0.0