当前位置:首页 > 代码 > 正文

克里金插值法代码(克里金插值法原理)

admin 发布:2022-12-19 22:19 180


今天给各位分享克里金插值法代码的知识,其中也会对克里金插值法原理进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

谁能提供一个克里金插值的matlab程序,下载了个工具箱,但是不会用,也看不懂。谢谢。

这种网上一般都有现成的代码下载,下面这个链接就可以下载

另外,matlab工具箱的话,先在File-set path中添加所要加载的工具箱(工具箱必须复制到matlab安装目录中的toolbox中),添加之后就可以像调用系统函数一样直接调用工具箱中的函数,最好先在网上找找工具箱使用的简单例程

哪位有克里金网格化插值算法以及fortran程序,或其它C,C++程序,急求,谢了

搜克里金插值近似网格算法在栅格数据投影变换中的应用,这里面有程序。

克里金三维插值matlab

theta = [10 10]; lob = [1e-1 1e-1]; upb = [20 20];

[dmodel, perf] = dacefit([lat,lon], tem, @regpoly0, @corrgauss, theta, lob, upb);

LonLat = gridsamp([min(latlim) min(lonlim);max(latlim) max(lonlim)], 60);

TemNew = predictor(LonLat, dmodel);

LatNew = reshape(LonLat(:,1),[60,60]);

LonNew = reshape(LonLat(:,2),[60,60]);

TemNew = reshape(TemNew, size(LonNew));

geoshow(LatNew,LonNew,TemNew,'DisplayType','surface');

hold on

plotm(lat,lon,'k.');

colorbar;

几种GIS空间插值方法

GIS空间插值方法如下:

1、IDW

IDW是一种常用而简便的空间插值方法,它以插值点与样本点间的距离为权重进行加权平均,离插值点越近的样本点赋予的权重越大。 设平面上分布一系列离散点,已知其坐标和值为Xi,Yi, Zi (i =1,2,…,n)通过距离加权值求z点值。

IDW通过对邻近区域的每个采样点值平均运算获得内插单元。这一方法要求离散点均匀分布,并且密度程度足以满足在分析中反映局部表面变化。

2、克里金插值

克里金法(Kriging)是依据协方差函数对随机过程/随机场进行空间建模和预测(插值)的回归算法。

在特定的随机过程,例如固有平稳过程中,克里金法能够给出最优线性无偏估计(Best Linear Unbiased Prediction, BLUP),因此在地统计学中也被称为空间最优无偏估计器(spatial BLUP)。

对克里金法的研究可以追溯至二十世纪60年代,其算法原型被称为普通克里金(Ordinary Kriging, OK),常见的改进算法包括泛克里金(Universal Kriging, UK)、协同克里金(Co-Kriging, CK)和析取克里金(Disjunctive Kriging, DK);克里金法能够与其它模型组成混合算法。

3、Natural Neighbour法

原理是构建voronoi多边形,也就是泰森多边形。首先将所有的空间点构建成voronoi多边形,然后将待求点也构建一个voronoi多边形,这样就与圆多边形有很多相交的地方,根据每一块的面积按比例设置权重,这样就能够求得待求点的值了。个人感觉这种空间插值方法没有实际的意义来支持。

4、样条函数插值spline

在数学学科数值分析中,样条是一种特殊的函数,由多项式分段定义。样条的英语单词spline来源于可变形的样条工具,那是一种在造船和工程制图时用来画出光滑形状的工具。在中国大陆,早期曾经被称做“齿函数”。后来因为工程学术语中“放样”一词而得名。

在插值问题中,样条插值通常比多项式插值好用。用低阶的样条插值能产生和高阶的多项式插值类似的效果,并且可以避免被称为龙格现象的数值不稳定的出现。并且低阶的样条插值还具有“保凸”的重要性质。

5、Topo to Raster

这种方法是用于各种矢量数据的,特别是可以处理等高线数据。

6、Trend

根据已知x序列的值和y序列的值,构造线性回归直线方程,然后根据构造好的直线方程,计算x值序列对应的y值序列。TREND函数和FORECAST函数计算的结果一样,但是计算过程完全不同。

想利用克里金(Kinging)插值法来扩充自己采集的一些数据,Kinging.m代码应该怎么实现?

Bars bar = new Bars();

bar.setId(rs.getLong("id"));

bar.setName(rs.getString("name"));

bar.setType(rs.getInt("type"));

bar.setCreatorId(rs.getLong("creator_id"));

resultList.add(bar);

if (currentNum == skipEnd - 1)

break;

}

克里金插值法代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于克里金插值法原理、克里金插值法代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/27264.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载