通过积分求出一组非均匀间隔数据下的体积

本视频介绍了如何使用GRIDDATA、匿名函数和QUAD2D在一组随机间隔的数据点下集成体积。首先必须采用插值方案,然后调用数值求积函数。这段视频展示了如何用已知的体积创建一个好的合成数据集来测试算法的其余部分。这样一个好的测试数据集会让你对算法的构建充满信心。
下面是编写的代码:
我有一个数据集“a”(n乘3)的有序三联体[x,y,z]。我想计算由A定义的表面和xy平面之间的体积。“A”只有正值,但不是均匀的%间隔,也不是网格。“A”不能用一个简单的%函数来描述。任何帮助吗?n = 10;randOffset = 0.1;h = 1;x =兰德(n);X (1:4)=[0 1 0 1]'; y = rand(n); y(1:4)=[0 0 1 1]'; z = h + randOffset*rand(n) - randOffset/2; %make average height plot3(x,y,z,'.') axis equal zlim([0 h + randOffset]) interpZ = @(xi,yi) griddata(x,y,z,xi,yi) %set up interpolation interpZ(0.5,0.5) %test interpolation vol = quad2d(interpZ,0,1,0,1) %volume should be close to 1
注:这篇文章有一个更新:https://blogs.mathworks.com/videos/2009/09/18/revisited-integrating-to-find-the-volume-underneath-a-set-of-non-uniformly-spaced-data/
|

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。