普通克里金插值基本步骤:
1.衡量各点之间空间相关程度的测度是半方差,其计算公式为:
h为样本点之间的距离;n为由h分开的成对样本点的数量;z为点的属性值(高程或其他属性值)。
计算半方差时步骤如下:
(1)求所有样本点之间的距离,共有n(n-1)/2个不同的距离;
(2)对所有距离从小到大排序并分为n组,计算
(3)计算n组距离每组的平均距离,将平均距离代入半方差公式中,计算出每组距离所对应的实验变差值;
(4)绘制距离-半方差散点图,求出拟合系数,即对应的参数。
2.在不同距离的半方差值都计算出来后,绘制半方差图,横轴代表距离,纵轴代表半方差。
在距离—半方差图中有三个参数nugget(表示距离为零时的半方差),sill(表示基本达到恒定的半方差值),range(表示一个值域范围,在该范围内半方差随距离增加,超过该范围,半方差值趋于恒定)。利用做出的距离—半方差图找出与之拟合的最好的理论变异函数模型(这是关键所在),可用于拟合的模型包括高斯模型、线性模型、球状模型、指数模型、圆形模型,下面给出常用的三个模型:
(1)球状模型
球面模型空间相关随距离的增长逐渐衰减,当距离大于球面半径后,空间相关消失。
(2)指数函数模型
(3)高斯模型
距离-半方差示意图:
3.用拟合的模型计算出三个参数。
例如球状模型中nugget为c_0,range为a,sill为c,其他模型中也类似。
4.利用拟合的模型估算未知点的属性值,方程为:
上式中未知量只有半方差函数,通过1中的公式计算可得到半方差值,代入上述矩阵当中,对矩阵求逆即可求解得到权重系数,从而求出未知点的属性。
以上就是关于普通克里金插值的过程,其他更详细过程可参考下面两篇文献,文件[2]中有部分插值的伪代码,可以作为参考。
[1]王靖波,潘懋,张绪定.基于Kriging方法的空间散乱点插值[J].计算机辅助设计与图形学学报,1999(06):525-529.
[2]张靖. GIS空间内插方法与应用研究[D].内蒙古师范大学,2008.
普通克里金插值基本步骤:1.衡量各点之间空间相关程度的测度是半方差,其计算公式为:h为样本点之间的距离;n为由h分开的成对样本点的数量;z为点的属性值(高程或其他属性值)。计算半方差时步骤如下:(1)求所有样本点之间的距离,共有n(n-1)/2个不同的距离;(2)对所有距离从小到大排序并分为n组,计算(3)计算n组距离每组的平均距离,将平均距离代入半方差公式中,计算出每组距离所对应的实验变差值;(4)绘制距离-半方差散点图,求出拟合系数,即对应的参数。2.在不同距离的半方差值都计算出来后,
C++实现克
里
金
插
值
,有实现界面,包括反距离加权
插
值
、最邻近点
插
值
方法.
包含完整的工程文件,直接点击“*.exe”文件即可运行,可看到源代码以及具体的算法内容,内附有简单的示例数据,可以学习也可以直接使用。
在实现克
里
金
插
值
的基础上增加了三维展示
插
值
结果,支持导出生成的三维模型,格式为“*.osg”,
插
值
结果经过检验,精度较高。
C++实现克
里
金
插
值
,有实现界面,包括反距离加权
插
值
、最邻近点
插
值
方法.C++实现克
里
金
插
值
,有实现界面,包括反距离加权
插
值
、最邻近点
插
值
方法.C++实现克
里
金
插
值
,有实现界面,包括反距离加权
插
值
、最邻近点
插
值
方法.C++实现克
里
金
插
值
,有实现界面,包括反距离加权
插
值
、最邻近点
插
值
方法.
在网上找了非常多资源没见过教怎么用MATLAB编程实现
普通
克
里
金
法的,作为
初学者
感觉上手有一定难度。这个PDF
详细
介绍了
普通
克
里
金
法的推导过程,并且对如何用MATLAB实现
普通
克
里
金
法进行了
详细
讲解,如要自己改写克
里
金
法可以进行参考学习。
该方法是对
普通
克
里
金
法进行直接的实现的,如要学习更有扩展性的编程方法参考Engineering Design via Surrogate Modelling,A Practice Guide这本书。
学过空间
插
值
的人都知道和反距离
插
值
(IDW)和克
里
金
插
值
, 本文讲简单介绍基本克
里
金
插
值
的原理,以及在Arcgis中实现的
详细
过程。由于IDW操作和克
里
金
很相似,并且最常用的是克
里
金
,因此实操部分给了克
里
金
的。读者可以根据如下教程摸索IDW是完全可以的呢。
文章目录一、反距离
插
值
(IDW)二、克
里
金
插
值
法三、 Arcgis实际操作3.1
插
值
实操 - 以克
里
金
为例四、出图
一、反距离
插
值
(IDW)...
今天是克
里
金
插
值
最后一讲,主要内容为
插
值
步骤
,和每种方法在创建表面过程中需要考虑的重要参数。
克
里
金
插
值
创建预测表面的核心参数有:数据变换、趋势、半变异函数/协方差模型和搜索领域(均在之前的章节进行了
详细
讲解)。
由于每种方法
步骤
均为加载数据源和属性字段,设置对应的方法参数,通过执行下一步,最终生成所需
插
值
结果,因此,本文以
普通
克
里
金
的预测表面为例进行演示,其他方法以此为参考。
步骤
一:打开地统计...
转自:http://xg1990.com/blog/archives/222
学过空间
插
值
的人都知道克
里
金
插
值
,但是它的变种繁多、公式复杂,还有个半方差函数让人不知所云
本文讲简单介绍基本克
里
金
插
值
的原理,及其推理过程。
0.引言——从反距离
插
值
(IDW)说起
空间
插
值
问题,就是在已知空间上若干离散点(xi,yi)的某一属性(如气温,海拔)的观测
值
zi=z(xi,
克
里
金
法是通过一组具有 z
值
的分散点生成估计表面的高级地统计过程。与
插
值
工具集中的其他
插
值
方法不同,选择用于生成输出表面的最佳估算方法之前,有效使用克
里
金
法工具涉及 z
值
表示的现象的空间行为的交互研究。
什么是克
里
金
法?
IDW(反距离加权法)和样条函数法
插
值
工具被称为确定性
插
值
方法,因为这些方法直接基于周围的测量
值
或确定生成表面的平滑度的指定数学公式。第二类
插
值
方法由地统计方法(如...
前段时间地统计的课设代码的确有点折磨人,但是还好算法过程比较简单,没有涉及到特别复杂的
步骤
,matlab在矩阵运算方面有大量的库函数以及其在索引方面的优势,使得我们真正能够实现向量化(矩阵化编程),希望大家看到这篇文章过后能够真正取思考,以前的哪些代码可以将for循环等若干繁琐
步骤
去掉,减少代码行数,掌握向量化编程的精髓。
1 变异函数
这
里
引用一下杨老师ppt上的一个简单定义,一维条件下,...
最近因为项目需要,研究了下克
里
金
插
值
算法。在地质学中,克
里
金
插
值
算法是一种使用的空间属性估计技术,克
里
金
插
值
说到底是个回归问题,且依据的因素只有两个位置之间的距离。
克
里
金
插
值
算法又分为很多中,比如
普通
克
里
金
插
值
,简单克
里
金
插
值
等,不同的克
里
金
插
值
算法只是假设条件不同。下面以
普通
克
里
金
为例来说明其原理。
普通
克
里
金
插
值
算法的假设条件是:空间属性是均匀的,对于空间任意一点(x,y)都有同样的数学...
普通
克
里
金
插
值
是一种常用的地统计学方法,用于估计未知点的
值
。该方法基于已知点的观测
值
和它们之间的空间距离进行
插
值
。
首先,需要准备已知点的观测
值
和它们在空间中的位置坐标。以二维情况为例,我们可以用矩阵表示已知点的观测
值
,其中每个元素代表一个已知点的观测
值
。而坐标则用两个分别表示横坐标和纵坐标的矩阵表示。
接下来,需要根据已知点的空间距离,
计算
出未知点与已知点之间的距离矩阵。可以使用matlab内置的pdist函数或自定义
计算
函数来实现。
然后,需要选择合适的克
里
金
插
值
模型。根据实际问题和数据特征,可以选择不同的克
里
金
插
值
模型,如球型、高斯型、指数型等。
对于选择的克
里
金
插
值
模型,可以使用matlab内置的kcolok函数来拟合已知点的观测
值
,并利用拟合的模型预测未知点的
值
。
最后,我们可以通过绘制等
值
线图或三维曲面图来观察
插
值
结果,并根据实际需求进行后续分析。
总之,
普通
克
里
金
插
值
是一种常用的地统计学方法,可用于估计未知点的
值
。在matlab中,可以通过准备已知点数据、
计算
距离矩阵、选择克
里
金
插
值
模型、拟合和预测,以及结果可视化等
步骤
来实现
普通
克
里
金
插
值
。
### 回答2:
普通
克
里
金
插
值
是一种经典的地统计学方法,在MATLAB中可以通过kriging函数来实现。该函数可以基于已知的地理位置及其属性
值
,来估计未知位置的属性
值
。
在进行
普通
克
里
金
插
值
之前,需要确定两个重要的参数:克
里
金
插
值
模型和半方差函数。克
里
金
插
值
模型决定了如何对未知点进行估计,常见的有简单克
里
金
模型、指数克
里
金
模型和高斯克
里
金
模型等。半方差函数描述了地点间的相关性,常见的有球面模型、指数模型和高斯模型等。在MATLAB中,我们可以使用variogramfit函数来拟合半方差函数。接下来,我们可以使用kriging函数,结合已知地理位置和属性
值
,来估计未知位置的属性
值
。
在使用MATLAB进行
普通
克
里
金
插
值
时,首先需要准备空间点数据,包括地理位置和属性
值
。然后,可以通过variogramfit函数拟合半方差函数,并通过variogramplot函数可视化拟合结果。接下来,使用kriging函数进行
插
值
计算
,并通过krigingplot函数可视化
插
值
结果。
需要注意的是,kriging函数还可以进行交叉验证,评估
插
值
的精度。通过指定"leaveoneout"参数为true,可以进行交叉验证。同时,kriging函数还支持
插
值
误差的
计算
,可以通过output模块中的"mse"参数来获取。
总之,
普通
克
里
金
插
值
是一种常用的地统计学方法,在MATLAB中可以方便地实现。通过利用kriging函数,我们可以根据已知的地理位置和属性
值
,估计未知位置的属性
值
,并且可以进行模型拟合、
插
值
计算
和交叉验证等操作。
### 回答3:
普通
克
里
金
插
值
是一种常用的地质学和地质建模方法,用于从有限的点数据集合中估计、
插
值
出一片区域的连续性属性
值
。该方法在Matlab中实现相对简单。
首先,我们需要准备数据。数据可以是在现实世界中采集到的点样本,每个点都有一个已知的属性
值
。在Matlab中,我们可以使用二维或三维的数组来存储这些点样本的坐标和属性
值
。
然后,我们可以使用Matlab的kriging函数来进行克
里
金
插
值
。该函数的基本语法为:
[Z, var] = kriging(X,Y,Z,Xq,Yq,'ordinary', model, range)
其中,X、Y、Z分别是点样本的横、纵坐标和属性
值
;Xq、Yq是我们希望进行
插
值
的区域的横、纵坐标;'ordinary'表示使用
普通
克
里
金
插
值
方法;model是对
插
值
函数的建模方法,可以选择平稳模型或非平稳模型;range是
插
值
的搜索范围。
最后,输出的Z就是在指定区域内
插
值
得到的连续性属性
值
,var则是每个
插
值
点处的估计误差。
需要注意的是,在进行
普通
克
里
金
插
值
之前,我们需要对数据进行预处理。预处理包括:检查数据的空间分布规律,判断数据的平稳性,选择合适的
插
值
模型和搜索范围等。
总之,
普通
克
里
金
插
值
是一种常用的地质学和地质建模方法,在Matlab中可以方便地实现。通过这种方法,我们可以从有限的点数据集合中
插
值
得到一片区域的连续性属性
值
,并对
插
值
结果进行误差估计。这对于研究地质现象、资源评估等具有重要的应用价
值
。