道格•赫尔MathWorks
(最初发布在Doug的MATLAB视频教程博客上。)
本视频介绍了使用GRIDDATA、匿名函数和QUAD2D来集成一组随机间隔的数据点。首先必须采用插值方案,然后调用数值求积函数。本视频展示了如何创建一个良好的合成数据集,用已知的容量来测试算法的其余部分。像这样好的测试数据集真的会给你的算法的构建带来信心。
下面是编写的代码:“我有一个数据集“a”(n × 3)的有序三联体[x,y,z]。我想计算由A定义的曲面和xy平面之间的体积。“A”只有正值,但不是均匀间隔的,也没有网格化。A不能用一个简单的函数来描述。任何帮助吗?”
n = 10;randOffset = 0.1;h = 1;x =兰德(n);X (1)=[0 1 0 1]';y =兰德(n);Y (1)=[0 0 1 1]';z = h +随机偏移集*rand(n) -随机偏移集/2;%make average height plot3(x,y,z,'.')轴等于zlim([0 h + randOffset]) interpZ = @(xi,yi) griddata(x,y,z,xi,yi) %设插值interpZ(0.5,0.5) %test插值vol = quad2d(interpZ,0,1,0,1) %volume应接近1
注意:这篇文章有更新在这里。