您当前的位置:首页 > 美文摘抄 > 内容

matlabgriddata(MATLAB中的插值函数griddata()运行出现NAN怎么办)

本文目录

  • MATLAB中的插值函数griddata()运行出现NAN怎么办
  • matlab中的插值函数 griddata的具体原理是什么呢可否大概讲解一下!!!
  • 如何用matlab中griddata函数来画出三维图像
  • matlab中griddata函数

MATLAB中的插值函数griddata()运行出现NAN怎么办

没有griddata的具体实现算法方面的信息,但是插值原理应该是基于散乱数据点生成局部区域的插值查询。而且这个插值似乎是要求“内插”的,即查询点必须处于输入样本XY的”包围“状态中,否则就会报NaN查询结果。matlab 2012a中的帮助是这样说的:The method defines the type of surface fit to the data. The ’cubic’ and ’v4’ methods produce smooth surfaces while ’linear’ and ’nearest’ have discontinuities in the first and zero’th derivatives, respectively. All the methods except ’v4’ are based on a Delaunay triangulation of the data. If method is , then the default ’linear’ method is used.Occasionally, griddata might return points on or very near the convex hull of the data as NaNs. This is because roundoff in the computations sometimes makes it difficult to determine if a point near the boundary is in the convex hull.========================================所以这个问题无法避免。(虽然实测使用nearest方法没有产生NaN,但因没有解读其算法,不确定是否绝对不出现NaN结果)如果只是为了绘出有效数据,把结果CZ中的NaN数据删掉就行了。如果想得到所有的CZ值,把NaN结果全部取出来,相应的CX,CY重新用nearest方法查询一次。或者自己写一个允许用近邻点外推插值的算法对其特殊处理。但还是会与griddata内部方法产生较大偏差,影响结果的”平滑性“。

matlab中的插值函数 griddata的具体原理是什么呢可否大概讲解一下!!!

griddata 调用方法:ZI = griddata(x,y,z,XI,YI)[XI,YI,ZI] = griddata(x,y,z,XI,YI)[...] = griddata(...,method)[...] = griddata(...,method,options)method 的值 为’linear’ -- 则,以三角形为基础的线性内插’cubic’ -- 则,以三角形为基础的三次方程内插’nearest’ -- 则,用最邻近的点 内插’v4’-- -- 则,MATLAB 4 格点样条函数内插默认’linear’ 线性内插三角形为基础,就是按Delaunay方法先找出内插点四周的3个点,构成三角形,内插点在三角形内。然后线性内插,或三次方程内插。’cubic’ 和 ’v4’ 插值结果构成的曲面较光滑,’linear’和 ’nearest’ 插值结果构成的曲面不光滑不连续。前3种方法具体算法见 Barber, C. B., D.P. Dobkin, and H.T. Huhdanpaa, “The Quickhull Algorithm for Convex Hulls,“ ACM Transactions on Mathematical Software, Vol. 22, No. 4, Dec. 1996, p. 469-483. Available in PDF format at http://www.acm.org/pubs/citations/journals/toms/1996-22-4/p469-barber/. 第4种方法具体算法见 Sandwell, David T., “Biharmonic Spline Interpolation of GEOS-3 and SEASAT Altimeter Data“, Geophysical Research Letters, 14, 2, 139-142,1987. (参考了 MathWorks 主站材料)

如何用matlab中griddata函数来画出三维图像

x=;y=;z=;subplot(121)plot3(x,y,z);[xx,yy]=meshgrid(x,y);zz=griddata(x,y,z,xx,yy);subplot(122)mesh(xx,yy,zz)

matlab中griddata函数

如果这新的点是落在原先25点范围内的话,可以简单地插值得到(interp2)。如果落在外面要外插,interp2里也有选项控制。总之看一下interp2的帮助文档就好。


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 好想回到昨天短文,又想回到昨天(如果可以《回到明天》)

下一篇: “reuse“用中文表示它的读音?reuse是什么意思与use 如何区分



推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号