克里金插值 调用matlab工具箱
克里金插值
克里金插值是依据协方差函数对随机过程或随机场进行空间建模和插值的回归算法。
克里金插值法的公式为:
式中为待插入的各点的重金属污染值,为已知点的重金属污染值,为每个点的权重值。
用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工具箱的更多相关文章
- arcgis api for js实现克里金插值渲染图--不依赖GP服务
本篇的亮点是利用kriging.js结合arcgis api for js,实现克里金插值渲染图,截图如下: 具体实现的思路如下: 1.kriging.js开源js,可以实现针对容器canvas克里金 ...
- arcgis api 3.x for js 实现克里金插值渲染图不依赖 GP 服务(附源码下载)
前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...
- R语言:克里金插值
基于空间自相关,R语言克里金插值 library(gstat) Warning message: In scan(file = file, what = what, sep = sep, quote ...
- openlayers4 入门开发系列之前端动态渲染克里金插值 kriging 篇(附源码下载)
前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...
- leaflet 实现克里金插值功能(附源码下载)
前言 leaflet 入门开发系列环境知识点了解: leaflet api文档介绍,详细介绍 leaflet 每个类的函数以及属性等等 leaflet 在线例子 leaflet 插件,leaflet ...
- Cesium专栏-克里金插值(全国温度为例,附源码下载)
Cesium Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精 ...
- ArcGIS JS API多线程克里金插值
最近做关于雨量插值的项目,本来使用后台的GP工具做的,但是处理时间比较长需要十几秒钟左右,所以研究怎么通过前台来计算. 参考下克里金例子,思路是生成要计算区域的100乘以100网格,然 ...
- PIE SDK克里金插值法
1.算法功能简介 克里金插值法基于一般最小二乘法的随机插值技术没用方差图作为权重函数,被应用于任何点数据估计其在地表上分布的现象,被称为空间自协方差最佳插值法,是一种最优内插法也是一种最常用的空间插值 ...
- python调用matlab脚本
在MATLAB和Python之间建个接口,从Python中调用MATLAB脚本或者是MATLAB的函数.内容不是很难,毕竟现成的接口已经有了,在这儿记录一下API使用的一些事项. 注:本篇使用的是MA ...
随机推荐
- 对char *f=new char[4]赋初值
用new 开辟的可以直接指向字符串常量,但是之后就不能进行修改了比如 char * f=new char[4]; f="ab"; f[0]='0'//错误 但是可以输出f[0]; ...
- Mysql事务结合spring管理
spring事务相关问题记录 遇到情况: 在本地单体应用调试代码时,发现在一个加了@transaction注解的方法里进行先更新后查询的操作,查询的结果是可以看到更新的内容的.而在微服务环境中同样的代 ...
- 第3章 JDK并发包(四)
3.2.5 自定义线程创建:ThreadFactory 线程池的主要作用是为了线程复用,也就是避免了线程的频繁创建. ThreadFactory是一个接口,它只有一个方法,用来创建线程: Thread ...
- 20200110--python学习第八天
今日内容 进制 对于计算机而言无论是计算机存储或是网络传输输入的本质都是:二进制:例如电脑上存储的视频/图形/文件/微信/qq的表情包/小视频都是二进制. 二进制:计算机内部 八进制: 十进制: 十六 ...
- Linux中awk抽取包含某字段的整行日志
命令示例:awk '{if($0~"listAuths") print}' xxx.log 解释说明:抽取xxx.log整个日志文件中,包含“listAuths”的行,打印输出
- php oci 和 pdo_oci 安装
安装非常复杂,必须记录 CentOS服务器上已有相关环境:apache.php5 需要安装:1.oracle客户端.2.oci8扩展.3.pdo_oci扩展. 一. 准备文件 1) oracle客户端 ...
- Nexus 安装运维手册
1. Nexus 安装与配置 1.1 下载Nexus 登录https://www.sonatype.com/download-oss-sonatype,下载最新的Nexus版本. 我这里使用的是nex ...
- 关键两步+6个要点,让Windows应用程序享有K8S的绝佳优势
本文来自Rancher Labs 前 言 实际上,没有一个迁移路径能够适用于将所有传统应用程序迁移到云.这些应用程序通常在物理机.虚拟机或本地.虽然一般情况下是重新设计应用程序架构以适用云原生服务, ...
- mac 软件相关的
mac 系统教学 https://www.w3cschool.cn/macdevsetup/carp1i83.html 可以查看的软件网站 https://www.ifunmac.com/ https ...
- sublime text安装与使用记录
一.安装Sublime Text 3 官网 http://www.sublimetext.com/3 进入官网选择所需版本下载 打开ST3,点击菜单 View -> Show Console,会 ...