RegularizeData3D

版本 1.1.0.0 (645.1 KB) 作者: Jamal
Produces a smooth surface from scattered 3D input data.
3.2K 次下载
更新时间 2014/6/5

查看许可证

RegularizeData3D is a modified version of GridFit from the Matlab File Exchange. RegularizeData3D does essentially the same thing, but is an attempt to overcome several shortcomings inherent in the design of the legacy code in GridFit.

* GridFit lacks cubic interpolation capabilities. Interpolation is necessary to map the scattered input data to locations on the output surface. The output surface is most likely nonlinear, so linear interpolation used in GridFit is a lousy approximation. Cubic interpolation accounts for surface curvature, which is especially beneficial when the output grid is coarse in x and y.

* GridFit's "smoothness" parameter was poorly defined and its methodology may have led to bad output data. In RegularizeData3D the smoothness parameter is actually the ratio of smoothness (flatness) to fidelity (goodness of fit) and is not affected by the resolution of the output grid.
Smoothness = 100 gives 100 times as much weight to smoothness (and produces a nearly flat output surface)
Smoothness = 1 gives equal weight to smoothness and fidelity (and results in noticeable smoothing)
Smoothness = 0.01 gives 100 times as much weight to fitting the surface to the scattered input data (and results in very little smoothing)
Smoothness = 0.001 is good for data with low noise. The input points nearly coincide with the output surface.

* GridFit didn't do a good job explaining what math it was doing; it just gave usage examples.

For a detailed explanation of "the math behind the magic" on a 3D dataset, see:
http://mathformeremortals.wordpress.com/2013/07/22/introduction-to-regularizing-3d-data-part-1-of-2/

and to apply the same principles to a 2D dataset see:
http://mathformeremortals.wordpress.com/2013/01/29/introduction-to-regularizing-with-2d-data-part-1-of-3/

Both of these links include Excel spreadsheets that break down the calculations step by step so that you can see how RegularizeData3D works. There are also very limited (and very slow!) Excel spreadsheet functions that do the same thing in 2D or 3D.

引用格式

Jamal (2024). RegularizeData3D (https://www.mathworks.com/matlabcentral/fileexchange/46223-regularizedata3d), MATLAB Central File Exchange. 检索来源 .

MATLAB 版本兼容性
创建方式 R2014a
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Linear Algebra 的更多信息
致谢

参考作品: Surface Fitting using gridfit

启发作品: regularizeNd

Community Treasure Hunt

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

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

The smoothing parameter now produces consistent behavior for input datasets with a very large or very small domain. (Previously the smoothing parameter was affected by the size of the input domain in x and y.)

1.0.0.0