克里金插值

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

克里金插值法的公式为:

式中为待插入的各点的重金属污染值,为已知点的重金属污染值,为每个点的权重值。

用BLUP理论求解克里金权重:

将随机场中变量的估计表示为包含随机误差的线性系统,则BLUP可表示为选择线性系统参数使估计值和真实值方差最小:

式中为未知点,{为随机场的样本,为权重系数,通常被称为克里金权重。由方差定义可知,当估计值和真实值的数学期望相同时,两者的方差最小

使用上述BLUP条件求解的权重系数包含样本点与未知点间的协方差函数。

克里金法是一种在许多领域都很有用的地址统计格网化方法,很符合本题分析污染物的浓度分布,而且克里金插值产生的结果更自然,能够有效的避免异常值的产生,也能给出标准误差,这得益于克里金插值算法考虑了被估计点的位置与已知点位置的相互之间的关系,也考虑了已知点位置之间的关系。所以,更能客观的反应污染物的分布规律,估值的精度也就相对较高。

代码如下

%采样地形图绘制

clc,clear

data=xlsread('zz.xls','附件1','B4:D322');%读取文件

%获得数据

S=data(:,1:2);

Y=data(:,3);

%采用克里金插值法

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

%调用克里金插值算法工具箱

%进行拟合操作

[dmodel, perf] = dacefit(S, Y, @regpoly0, @corrspherical, theta, lob, upb)

m=100;

%插值计算

X = gridsamp([0 0;30000 20000], m);

[YX MSE] = predictor(X, dmodel);

%获得插值

X1 = reshape(X(:,1),m,m); X2 = reshape(X(:,2),m,m);

YX = reshape(YX, size(X1));

%作图

figure;

surf(X1, X2, YX)

hold on,

hold off

xlabel('x/m')

ylabel('y/m')

zlabel('海拔')

title('采样地形图')

figure;

contourf(X1,X2,YX)%做平面图

[C,h] = contour(X1,X2,YX);

clabel(C,h)

xlabel('x/m')

ylabel('y/m')

zlabel('海拔')

title('采样地形图')

%污染物浓度分布

clc,clear

b={'As','Cd','Cr','Cu','Hg','Ni','Pb','Zn'};

nd=xlsread('zz.xls','附件2','B4:I322');%读取文件

S=xlsread('zz.xls','附件1','B4:C322');%读取文件

%循环读取数据

for i=1:8

Y=fix(nd(:,i));

%采用克里金插值法

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

%调用克里金插值算法工具箱

%进行拟合操作

[dmodel, perf] = dacefit(S, Y, @regpoly0, @corrspherical, theta, lob, upb)

m=100;

%插值计算

X = gridsamp([0 0;30000 20000], m);

[YX MSE] = predictor(X, dmodel);

%获得插值

X1 = reshape(X(:,1),m,m); X2 = reshape(X(:,2),m,m);

YX = reshape(YX, size(X1));

%作图

figure;

mesh(X1, X2, YX)

hold on,

hold off

xlabel('x/m')

ylabel('y/m')

zlabel('浓度')

title([b(i)])

figure;

contourf(X1,X2,YX)

%做平面图

[C,h] = contour(X1,X2,YX);

xlabel('x/m')

ylabel('y/m')

zlabel('浓度')

title([b(i)])

end

需要调用工具箱文件

在我的百度云盘里有,希望对你有帮助

链接:https://pan.baidu.com/s/1O-mqKowNBJ06llEldHu90A

提取码:g4wl

克里金插值参数设置Matlab,克里金插值 调用matlab工具箱相关推荐

  1. linux c++ 调用matlab,ubuntu系统下C++调用matlab程序的方法详解

    前言 最近因为工作的需要在研究C++怎么调用matlab程序,发现网上的资料较少,所以将自己学习的内容总结分享出来,下面话不多说了,来一起看看详细的介绍吧. 实验平台: ubuntu  matlab ...

  2. 【Matlab】在Java中调用matlab函数

    考虑到计算的各种情况,有些用Java代码实现的计算难免会显得不够高效.而利用MATLAB写好相应的计算函数,然后打包成jar包供Java调用,在某些情况下会更加方便.现在就来说一下如何实现这一过程: ...

  3. python调用matlab函数_从 Python 调用 MATLAB 函数的三种方法

    0. 实验环境Ubuntu 16.04 Matlab R2015b 1. 借助于 mlab 库 安装方法非常简单,只需一行命令 sudo pip install mlab 即可. import num ...

  4. C++ MATLAB 混合编程——VS项目调用MATLAB函数

    引言 MATLAB无疑是一款强大的矩阵运算与数据分析软件,内部集成了众多函数.如果在C++编程时可以调用相关的函数将对我们的数据分析研究带来极大的方便.这里就总结一下如何在VS工程中调用MATLAB函 ...

  5. matlab htk tools,基于HTK调用MATLAB的语音识别的研究

    基于HTK调用MATLAB的语音识别的研究 张戈,严欢,殷景华 (哈尔滨理工大学,哈尔滨,150080) 摘要:根据HTK(Hidden Markov Model Toolket)原理,介绍基于HTK ...

  6. python调用matlab需要的库_python调用matlab文件

    python和matlab在计算机各具优势,最近在研究一个文字识别的小程序.同时用到matlab和python,matlab负责图片的前期处理,python负责图片的文字识别,需要相互调用.我尝试了很 ...

  7. matlab的exec程序,C++调用Matlab画图的一段程序

    劳动节闲来无事,写了一天程序,just for fun. 看,这是C++调用Matlab画图的一段程序.暂时不想多解释了,有兴趣的话,看看下面的代码吧. 以下几段代码由上到下,越来越旧.最上面的是最新 ...

  8. cvi调用matlab dll,cvi通过artix调用matlab

    [实例简介] cvi通过artix调用matlab,官方例程改的,不过官方例程一般人运行不起来,因为库不匹配,这个是matlab2015b32位和cvi2017的 [实例截图] [核心代码] f403 ...

  9. 调用matlab dll报错,c#调用MATLAB的dll时出错

    MATLAB是2014a,VS是2013的. 在C#中调用matlab生成的dll文件时,ceshi.Class1 yaoyi = new Class1();  对类进行实例时,抛出异常.异常为: 未 ...

  10. Java和MATLAB混合编程,Java调用MATLAB代码

    大家可能像我一样,是MATLAB 2014a或者MATLAB 2015a或者更高,因此找不到java package. 大家可能看到其他博客配置matlab 2013版本的,所以在这里就记录下MATL ...

最新文章

  1. Cordova入门系列(三)Cordova插件调用
  2. 《从缺陷中学习C/C++》——6.15 试图产生的指针很可能不存在
  3. 驳Linux不娱乐 堪比Win平台中十款播放器
  4. mysql-5.5.50-winx64
  5. F. Cheap Robot(kruskal 重构树)
  6. 牛客练习赛 57——manacher算法 树形dp?
  7. [XSY] 选举(线段树优化dp)
  8. WildFly 8的Camel子系统集成了Java EE –入门
  9. 数据结构课程设计------c实现散列表(二次探测再哈希)电话簿(文件存储)
  10. EJB是什么?EJB的概念分析与理解(copy)
  11. 山东2021高考成绩查询时间二本,山东二本录取结果什么时候出来,2021年高考山东二本录取结果查询时间...
  12. django使用Paginator分页展示数据
  13. Python 第十一篇:开发堡垒机
  14. Oracle移除表空间的数据文件 ora-00604 ora-01426
  15. phoenix表操作
  16. Web API 文档生成工具 apidoc
  17. 滴滴工程师带你深入理解 HTTP通信细节
  18. 进行海外媒体发稿的稿件撰写技巧和方法
  19. https防流量劫持
  20. GNSS说第(七)讲---自适应动态导航定位(六)---导航解算中的误差探测、诊断与修复

热门文章

  1. sourceInsight4.0 安装-pojie
  2. Python数据分析案例:对全国大学综合数据分析,本可视化展示(附加2021全国大学排名爬虫源码)
  3. 计算机能够自动完成运算或处理过程的基础是,计算机文化基础题库.doc
  4. 自动控制原理专业词汇中英文对照(二)
  5. 2021年高考志愿填报计算机类专业历年分数报考分析
  6. python+splinter刷火车票
  7. 版本管理工具:Gitlab
  8. 嵌入式培训机构背后不为人知的故事
  9. fix函数怎么使用matlab,Matlab基本函数-fix函数
  10. SolidWorks工程图中材料明细表的一些操作