这段代码能够计算在给定样本下,两个均匀概率分布之间的1-Wasserstein距离和2-Wasserstein距离。从图形上来看,它衡量了输入向量的(归一化)直方图之间的距离。详细信息可参阅GitHub存储库。
Wasserstein距离计算代码1D中1-和2-Wasserstein距离的Matlab实现
相关推荐
1D AEM反演的Matlab Trans-D代码示例
用于1D AEM(或任何1D模型)反演的Matlab Trans-D代码示例,运行仅需在Matlab路径中包含/ include目录和子目录,按照编号顺序运行命名脚本。基于Blatter等人(2018)和Ray等人(2013,2012)的工作,来自机载瞬态电磁数据的跨维贝叶斯反演泰勒冰川。
Matlab
0
2024-09-26
基于FDTD方法的1D电磁波仿真MATLAB代码
这里提供了基于FDTD方法的四个MATLAB代码示例,逐步深入探讨电磁场中的Ex和Hy场分量在z方向的传播,包括吸收边界条件(ABC)的应用、脉冲与介质相互作用的模拟,以及正弦波与介质相互作用的仿真。
Matlab
14
2024-07-17
Hausdorff距离计算算法MATLAB实现
介绍了如何在MATLAB中实现Hausdorff距离算法。Hausdorff距离用于衡量两个集合之间的相似度,通常用于图形、形状匹配等应用场景。通过此算法,可以有效计算两组点集之间的Hausdorff距离,该距离反映了一个点集到另一个点集的最远点距离。
MATLAB实现代码示例:
function dist = hausdorffDistance(A, B)
distsA = zeros(1, length(A));
distsB = zeros(1, length(B));
for i = 1:length(A)
distsA(i) = min(sqrt((A(i,1) - B(:,1)).^2 + (A(i,2) - B(:,2)).^2));
end
for j = 1:length(B)
distsB(j) = min(sqrt((B(j,1) - A(:,1)).^2 + (B(j,2) - A(:,2)).^2));
end
dist = max([max(distsA), max(distsB)]);
end
此代码将计算两个点集A和B之间的Hausdorff距离。
Matlab
0
2024-11-05
Matlab简单代码mp-quadrature-用于生成通用1D、2D和3D正交规则的多精度算法
1. 引言
在许多数值分析领域中,高阶正交规则(例如Gauss-Legendre,Gauss-Jacobi,Gauss-Lobatto等)的精确计算和列表化至关重要。标准的双精度算术通常仅足以获得14(或更少)个点和权重的精度,因此需要多精度代数库来改善这种情况。尽管用于计算正交规则的标准技术已经有一段时间了,但是某些方法在计算任意精度规则方面比其他方法更好。在这里,我们基于免费提供的GMP,MPFR和GMPFRXX库收集了(希望增长)多种算法,用于生成正交规则。该代码用于将有限元库中的一些一维正交规则制成表格。
2. 安装
要构建库,请键入 ./configure 和 make。您必须同时安装GMP和MPFR库才能构建mp-quadrature库。至少有两个选择:
运行包含的 build_gmp_mpfr.sh 脚本。这会将GMP和MPFR从源代码下载、构建并安装到 ./gmp 和 ./mpfr 目录中。然后,配置脚本将自动找到这些脚本。
使用以下选项来配置系统的GMP和MPFR安装位置:
--with-gmp-include=/path/to/gmp/include 等参数来指定库的路径。
Matlab
0
2024-11-05
双向局部距离的Matlab函数点云距离计算工具
这个Matlab函数用于计算两组点云之间的双向局部距离(BLD)。BLD是Hausdorff距离的一种扩展,提供了参考点云中每个点到测试点云的距离。该函数由Hak Soo Kim等人在医学物理学领域的研究中定义,适用于任意维度的点云。使用方法:输入参考点云和测试点云,函数将输出参考点云中每个点的局部距离(BLD)。详细信息可参见原论文:https://doi.org/10.1118/1.4754802。
Matlab
0
2024-09-29
Optimized Overlap-and-Add 1D Convolution Highly Optimized Implementation of Linear 1D Convolution with Best DFT Window Selection-MATLAB Development
This function implements linear 1D convolution using the overlap-and-add method. It is fully optimized, and the main loop avoids memory allocation. The function automatically computes the best DFT window for performance. It supports three output modes: Full, Same, and Valid, which align with MATLAB's conv() function. The package also includes a frequency-domain implementation and performance comparisons with two other methods.
Matlab
0
2024-11-06
广义距离变换MATLAB实现距离采样函数算法
这是P. Felzenszwalb和D. Huttenlocher的论文中提出的距离采样函数的广义距离变换算法的简单MATLAB实现。函数DT()通过为每个维度调用DT1()来计算二维图像的距离变换。该方法可以轻松扩展到更高维度。由于inf值的处理存在问题,因此对于图像中以“无”抛物线为中心的点,应该给它们一个较大的数值(如1e10)。此外,算法被修改为使第二个参数返回输入的功率图,该图展示了每个点到其最近的点的距离。若所有输入点具有相同的值,函数将简化为计算标准的距离变换和Voronoi图。
Matlab
0
2024-11-05
1D Signal Two-Level Wavelet Decomposition and MATLAB Application
1D Signal Two-Level Wavelet Decomposition Overview
Two-Level Approximation Decomposition: The original signal is averaged every 4 values to capture the approximate components at this level.
Two-Level Detail Decomposition: The difference between every 2 consecutive values in the original signal provides the detailed components at this level.
One-Level Detail Decomposition: The difference between the odd and even-indexed values of the original signal is calculated to extract finer details.
Signal Recovery: After the decomposition, the signal can be reconstructed by combining the approximations and details from each level.
In MATLAB, you can implement these wavelet decompositions to analyze various signals effectively, applying discrete wavelet transform (DWT) functions for both decomposition and reconstruction steps.
Matlab
0
2024-11-06
When Wavelet Meets HMM WHMT for 1D Signal Denoising and Classification in MATLAB
要复制屏幕截图的结果,请运行:测试_WHMM。该脚本是参考文献[1]的实现,包括两部分:1. 一维信号去噪(9~11页) 2. 一维随机过程(RP)分类(第12页)。参考:[1] 使用隐马尔可夫模型的基于小波的统计信号处理:MS Crouse, RD Nowak, RG Baraniuk - IEEE信号处理交易,1998 - dsp.rice.edu。可在:http://scholarship.rice.edu/bitstream/handle/1911/19815/Cro1998Apr1Wavelet-Ba.PDF?sequence=1。确认:作者要感谢Justin Romberg教授的“hmt1d”工具箱和他对如何使用它的友好帮助。
Matlab
0
2024-11-03