记录一下Kriging法的学习过程

1.工具箱下载并安装

下载地址 http://www.omicron.dk/dace.html ,打开网址如下,点击zip-archive进行下载。

将下载好的工具箱解压放到matlab安装目录下的toolbox文件下,打开matlab,在set path中将dace添加到路径中。

1)参考工具箱中的dace文档

2) https://xg1990.com/blog/archives/222

3.插值举例

1)dace文档中自带的例子

代码如下:

load data1
theta = [10 10]; %初始值
lob = [0.1 0.1]; %下边界
upb = [20 20];   %上边界
[dmodel, perf] = dacefit(S, Y, @regpoly0, @corrgauss, theta, lob, upb);
X = gridsamp([0 0;100 100], 40);
[YX, MSE] = predictor(X, dmodel);
X1 = reshape(X(:,1), 40, 40);% 重新组装为40*40的矩阵
X2 = reshape(X(:,2), 40, 40);
YX = reshape(YX, size(X1));
figure(1),mesh(X1, X2, YX)
hold on
plot3(S(:,1), S(:,2), Y,'.k','MarkerSize',20)%初始样本点
hold off
[emodel, perf] = dacefit(S, Y, @regpoly0, @correxp, 2);
figure(2), mesh(X1, X2, reshape(MSE, size(X1)))
[y, dy] = predictor(S(1,:), dmodel)

结果如下:

2)对函数 f(x)=e^{-x}+sin(x)+cos(3x)+0.2x+1,x\in [0,6] 进行插值

代码如下:

fun = @(x) exp(-x)+sin(x)+cos(3*x)+0.2*x+1;
t = 0:0.01:6;
y = fun(t);
plot(t,y,'b')
hold on
S = [0:0.5:6]';%生成初始样本点
Y = fun(S);
theta = [10]; %初始值
lob = [0.1]; %下边界
upb = [20];   %上边界
[dmodel, perf] = dacefit(S, Y, @regpoly0, @corrgauss, theta, lob, upb);
X = gridsamp([0;6], 100);
[YX, MSE] = predictor(X, dmodel);
plot(X,YX)
plot(S, Y,'.k','MarkerSize',20)%初始样本点

结果如下:

图中黑点是初始插值样本点,蓝色曲线是理论结果,红色曲线是Kriging插值结果,从图中可以看出,只用 很少的样本点就得到比较精确的插值结果。

记录一下Kriging法的学习过程1.工具箱下载并安装下载地址http://www.omicron.dk/dace.html,打开网址如下,点击zip-archive进行下载。将下载好的工具箱解压放到matlab安装目录下的toolbox文件下,打开matlab,在set path中将dace添加到路径中。2.教程1)参考工具箱中的dace文档2)https://xg1990.com/blog/archives/2223.插值举例1)dace文档中自带的例子代码如下.
克里金插值matlab程序 克里金(Kriging)插值法又称空间自协方差最佳插值法,它是以南非矿业工程师D.G.Krige的名字命名的一种最优内插法。克里金法广泛地应用于地下水模拟、土壤制图等领域,是一种很有用的地质统计格网化方法。它首先考虑的是空间属性在空间位置上的变异分布.确定对一个待插点值有影响的距离范围,然后用此范围内的采样点来估计待插点的属性值。该方法在数学上可对所研究的对象提供一种最佳线性无偏估计(某点处的确定值)的方法。它是考虑了信息样品的形状、大小及与待估计块段相互间的空间位置等几何特征以及品位的空间结构之后,为达到线性、无偏和最小估计方差的估计,而对每一个样品赋与一定的系数,最后 进行加权平均来估计块段品位的方法。但它仍是一种光滑的内插方法 在数据点多时,其内插的结果可信度较高 。
斯图加特大学稀疏网格插值工具箱(内含帮助文档,包含多个例子),原理解释清晰可靠 稀疏网格插值插值问题是一个最优恢复问题(即选择点,使光滑的多变量函数能够与合适的插值公式相匹配)。根据插值函数的特点(平滑度、周期性),存在基于稀疏网格的各种插值技术。它们都采用了smolyak的结构,这构成了所有稀疏网格方法的基础。利用Smolyak著名的方法,利用张量积,将已知的单变量插值公式推广到多变量情形。因此,我们得到了一种强大的插值方法,它比传统的全网格插值方法需要更少的支持节点。以预先定义的方式选择包含多维度稀疏网格的点。随着问题维数的增加,所需点数的差异可以是几个数量级。该方法最重要的特点是,随着网格分辨率的提高,全网格插值的渐近误差衰减保持在对数因子以内。该方法的另一个优点是它的层次结构,可以用来估计当前的近似误差。因此,可以很容易地开发出一种插值算法,当达到所需的精度时,该算法会自动中止。
链接:https://pan.baidu.com/s/1p0lt2G8KQ-els7Dyw5jPFg 提取码:wcss 下载后将该程序添加到MATLAB安装文件夹中的/toolbox下,然后在设置路径中添加该程序文件为默认路径即可调用程序。 资源中内附程序使用说明PDF。 二、本人实际操作代码如下所示,标注如下 load data1 %载入数据 %模型参...
5.1 插值方法 5.1.1 分段线性插值 将每两个相邻的节点用直线连起来,如此形成的一条折线即分段线性插值函数,记作InI_nIn​(x),用它计算x点的插值时,只用到x左右的两个节点,计算量与节点个数n无关。但是n越大,分段越多,插值误差越小。 5.1.2 拉格朗日插值多项式 5.1.3 样条插值 利用样条函数进行插值,即取插值函数为样条函数,称为样条插值。 5.1.4 Matlab插值工具...
工具箱下载来自于百度网盘,由于是别人分享的这里就不做引用了。 将工具箱解压缩,然后放置在matlab的toolbox路径下,然后在matlab内设置路径,如下图所示 简单测试 load data1.mat 读进来的就是工具箱内的一个样例数据,本博文先简单测试下如何使用工具箱进行kriging,选择POLY0回归方法以及GAUSS相关方法,假设点为各向异性。然后使用dacefi... 克里金插值,有代码,有dacefit函数包,但是第一次用,这个博客没有讲明白怎么添加到‘设置路径’: https://blog.csdn.net/qq_40937675/article/details/89792122 这个博客,说的非常详细,一次就看懂了,实操跑通: https://blog.csdn.net/weixin_41661099/article/d
### 回答1: Kriging是一种空间插值技术,其目的是根据样本点的空间关系,预测空间中未知位置的值。Matlab是一种编程语言和计算工具,可用于实现各种科学计算任务。 在Matlab中,可以使用kriging函数来进行Kriging插值。该函数需要输入一些参数,例如空间坐标,观测值,残差变差函数和预测位置。然后,该函数将使用Kriging模型根据样本点的空间布局来估计未知位置的值。用户还可以使用其他函数来可视化Kriging结果,例如surf函数来创建三维表面图。 使用Kriging可用于许多应用程序,例如地球科学,环境监测和工程设计。Kriging还具有许多变体,例如指数Kriging和简化Kriging。这些变体具有不同的目的和参数,可以根据应用程序的需要进行选择和调整。 Kriging在Matlab中的实现使其成为强大的空间分析工具,可用于处理大量的复杂数据集。 MatLab提供了易于使用和可靠的接口,使得数据的分析和处理变得简单和直观。这使得Kriging成为了处理空间数据的重要工具。 ### 回答2: Kriging 是一种空间插值技术,也被称为最优插值方法或克里格插值。它是一种基于统计学和地质学原理的高级插值方法,可以用于精确预测离散数据的空间分布,并产生均匀光滑的表面。 Kriging方法可以利用自相关和协方差信息,以及多个观察点之间的距离和方向来确定未知位置的值。在内插过程中,K的选择和模型拟合参数是必要的。 MATLAB 是一款科学计算软件,它的强大性能和广泛的功能使其成为Kriging方法实施的一种非常好的工具。MATLAB提供了一些内置的函数和工具箱,可用于Kriging,例如 Spatial Statistics Toolbox 和 Mapping Toolbox。Spatial Statistics Toolbox中具有一系列专用的kriging工具,可以进行不同类型的kriging,包括简单克里格、ORD克里格、泊松曼克妙夫斯基(POM)克里格、以及 Universal Kriging等。此外,MATLAB还提供了用于计算Kriging模型的函数和工具,例如 kriging,krig,kriging_interp2 和 interp2。 要在MATLAB中实施kriging,需要进行一系列基本步骤,包括数据采集、预处理、样本变异的评估和模型参数化、控制和检验。数据采集和预处理可以使用各种方法,包括测量、遥感技术、地形数据、地下数据等。样本变异的评估可以使用半方差函数(SVF)方法和经验函数方法,并使用可利用MATLAB进行计算的校准参数和插值方法。对于模型参数化,可基于选择的kriging表面类型、样本数量和变量之间的关系来执行。最后,模型检验和验证可以使用预测精度测量、交叉验证、残差分析等方法。 总的来说,利用MATLAB实现kriging方法,最终可以得到高质量的空间结构信息和精确的表面预测结果。无论您要处理任何类型的离散数据和地理数据,MATLABKriging工具都可以帮助您快速、准确地进行空间插值和预测。 ### 回答3: Kriging是一种基于空间统计学的插值方法,通常用于地质学、地理信息系统、气象学、环境科学和农业等领域中,以估算空间数据的未知值。它可以通过建立空间自相关性模型来预测未知点的值,并提供了误差估计量。 在Matlab中,kriging有多种实现方式,其中最常用的方法是基于Variogram模型的Ordinary Kriging(OK)。 Ordinary Kriging(OK)是一种插值技术,它以数据点的值和距离为基础,建立经验变异函数,并利用这个函数来计算未知点的值。通常,Ordinary Kriging估算值的精度比普通线性插值更高,并且它可以估算空间模式的自相关性。 在Matlab中,可以使用Kriging Toolbax插件来执行kriging分析。该工具箱提供了各种kriging模型和算法,可用于估算点数据和空间数据。 使用Kriging Toolbax执行kriging分析的一般步骤如下: 1.加载数据:输入已知点数据并确定待估点的坐标。 2.建立半方差点图:根据数据点之间的距离计算半方差并将其绘制为点图。 3.选取等值线:选择半方差函数的等值线,并确定插值表面的变换函数。 4.确定Krige参数:确定Krige插值方法的参数,如:方差、距离阈值、样本点数量、kriging权值等。 5.执行Krige分析:使用已选择的Krige算法预测未知点的值,并得到误差度量。 6.评估Krige结果:使用重交叉检验法(cross validation)或其他方法评估krige的结果的质量。 总的来说,kriging在Matlab中的实现非常简单,它是一个非常有用的工具,可以为许多应用场景提供可靠预测。