克里金插值(Kriging)在MATLAB中的实现【优化】

news2024/11/24 16:06:59

该部分是基于克里金插值(Kriging)在MATLAB中的实现(克里金工具箱),由于在运行过程中有部分问题,基于此做的一些理解+优化

工具箱的下载见上面的链接,其提供了工具箱。

clc
clear

load('data_kriging.mat')  %载入数据;我在这里将工具箱中的data1替换了名字

%模型参数设置,无特殊情况不需修改,见说明书
theta = [10 10]; lob = [1e-1 1e-1]; upb = [20 20];

[dmodel, perf] = dacefit(S, Y, @regpoly0, @corrgauss, theta, lob, upb);
% corrgauss表示高斯相关函数
% lob:相关函数参数的下界向量
% upb:相关函数参数的上界向量

%S存储了点位坐标值,Y为观测值
X = gridsamp([0 0;100 100], 40);  %创建一个40*40的格网,标注范围为0-100,即格网间距为2.5

% X=[83.731	32.36];     %单点预测的实现
%格网点的预测值返回在矩阵YX中,预测点的均方根误差返回在矩阵MSE中
[YX,MSE] = predictor(X, dmodel);    
X1 = reshape(X(:,1),40,40); X2 = reshape(X(:,2),40,40);
YX = reshape(YX, size(X1));         %size(X1)=40*40

figure(1), mesh(X1, X2, YX)         %绘制预测表面
hold on,
plot3(S(:,1),S(:,2),Y,'.k', 'MarkerSize',10)    %绘制原始散点数据
hold off

figure(2),mesh(X1, X2, reshape(MSE,size(X1)));  %绘制每个点的插值误差大小

在dacefit函数中,参数的含义如下:

  • S:输入变量的样本数据矩阵,每一行代表一个样本点,每一列代表一个输入变量。
  • Y:响应变量的样本数据矩阵,每一行代表一个样本点,每一列代表一个响应变量。
  • @regpoly0:回归多项式函数的句柄,用于拟合输入变量和响应变量之间的回归关系。regpoly0表示零阶多项式,即常数回归模型。
  • @corrgauss:相关函数的句柄,用于描述输入变量之间的相关性。corrgauss表示高斯相关函数。
  • theta:相关函数的参数向量,用于调整相关函数的形状和范围。具体含义根据相关函数的定义而定。
  • lob:相关函数参数的下界向量,用于限制参数的范围。
  • upb:相关函数参数的上界向量,用于限制参数的范围。

函数返回值包括:

  • dmodel:拟合好的DACE模型,可以用于进行预测和插值。
  • perf:拟合模型的性能指标,如均方根误差(RMSE)、均方误差(MSE)等。

通过调整相关函数的参数和范围,可以对DACE模型进行优化,以最好地拟合输入变量和响应变量之间的关系。

在这里插入图片描述

在这里插入图片描述

备注:如果缺失数据不是规整的,这种方法还是比较难应用。
相关的原理可借鉴:
克里金插值MATLAB程序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/579352.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

服务(第三十二篇)nginx做缓存服务器

nginx作为缓存服务配置语法 1、proxy_cache_path 配置语法(即缓存路径配置语法) Syntax:proxy_cache_path path [levelslevels] [use_temp_pathon|off] keys_zonename:size [inactivetime] [max_sizesize] [manager_filesnumber] [manager_s…

python爬虫笔记

Python爬虫笔记 一. Urllib 1. 基础请求 指定url请求返回值解码返回结果的一些操作 import urllib.request as req # 定义一个url url http://www.baidu.com# 发送请求获得相应 res req.urlopen(url)# read返回字节形式的二进制数据,需要用指定编码来解码 content res.r…

Allure测试报告定制全攻略,优化你的Web自动化测试框架!

目录 前言: 1. Allure测试报告简介 2. Web自动化测试框架简介 3. 封装Web自动化框架 3.1 安装Selenium 3.2 封装Selenium 3.3 定制Allure测试报告 3.3.1 适配翻译插件 3.3.2 定制测试报告样式 4. 示例代码 5. 总结 前言: 随着现在Web应用的普…

【特征选择】基于二进制粒子群算法的特征选择方法(PNN概率神经网络分类)【Matlab代码#33】

文章目录 【可更换其他算法,获取资源请见文章第6节:资源获取】1. 特征选择问题2. 二进制粒子群算法3. 概率神经网络(PNN)分类4. 部分代码展示5. 仿真结果展示6. 资源获取 【可更换其他算法,获取资源请见文章第6节&…

day42_jsp

今日内容 零、 复习昨日 一、JSP 二、EL 三、JSTL 四、MVC 零、 复习昨日 一、JSP 1.0 引言 现有问题 在之前学习Servlet时,服务端通过Servlet响应客户端页面,有什么不足之处? 开发方式麻烦:继承父类、覆盖方法、配置Web.xml或注…

8.3:加强堆的应用

8.3:加强堆的应用 题目要求: 做一个加强堆的题目,给定一个整型数组,int[] arr;和一个布尔类型数组,boolean[] op 两个数组一定等长,假设长度为N,arr[i]表示客户编号,op…

【程序人生】上海城市开发者社区小聚有感

📫作者简介:小明java问道之路,2022年度博客之星全国TOP3,专注于后端、中间件、计算机底层、架构设计演进与稳定性建设优化,文章内容兼具广度、深度、大厂技术方案,对待技术喜欢推理加验证,就职于…

shell脚本入门-编写格式以及执行方式

Shell介绍 通过编写shell命令发送给linux内核去执行,操作就是计算机硬件,所以Shell命令是用户操作计算机硬件的桥梁 Shell是命令,类似与windows系统的Dos命令 Shell是一门程序设计语言,shell里面含有变量,函数&#xf…

低代码助力企业数字化转型:构建高效业务系统的新选择

在当今数字化时代,企业数字化转型已经成为业界的热门话题。随着全球各大企业逐渐意识到数字化转型的重要性,越来越多的公司开始采用低代码开发平台作为数字化转型的工具,以低成本高效率构建业务系统,实现数字化转型。 但现实情况是…

Less基础速学 —— 混入、运算、继承

Less 混合 在上一篇内容中就已经简单的了解了关于CSS预处理器 —— Less&#xff0c;本篇就往下讲Less中的混合&#xff0c;什么是混合&#xff1f;就是将一系列属性从一个规则集引入到另外一个规则集的方式。下面来看一下它的混合方式有哪些&#xff1f; 普通混合 <div …

使用OpenCvSharp来计算图像的清晰度(可实现相机自动对焦)

相机自动对焦&#xff0c;其实是对相机成像的清晰值得计算&#xff0c;若对焦不清晰&#xff0c;成像的清晰度低&#xff0c;视觉效果模糊。若是在工业检测行业&#xff0c;对焦不准确&#xff0c;可能导致信息不正确&#xff1b;对焦准确的图像&#xff0c;其清晰度高&#xf…

长连接心跳原理与机制工程上踩坑与优化

QA: 业务上对于心跳间隔一般怎么确定? 心跳间隔的确定一般需要根据具体业务场景和需求来进行。以下是一些常见的确定心跳间隔的方法&#xff1a; 根据应用场景和需求来确定心跳间隔。例如&#xff0c;在智能手环等健康监测设备中&#xff0c;心跳间隔通常设置为几秒钟到几分钟…

华为OD机试之过滤组合字符串(Java源码)

过滤组合字符串 题目描述 每个数字关联多个字母&#xff0c;关联关系如下&#xff1a; 0 关联 “a”,”b”,”c”1 关联 “d”,”e”,”f”2 关联 “g”,”h”,”i”3 关联 “j”,”k”,”l”4 关联 “m”,”n”,”o”5 关联 “p”,”q”,”r”6 关联 “s”,”t”7 关联 “u”…

六级备考24天|CET-6|翻译技巧4|翻译红楼梦|22:40~23:40

目录 作题步骤 红楼梦 12 PRACTICE ANSWER​ 时态问题 3 ANSWER 4 PRACTICE ANSWER ​ 5​ PRACTICE ANSWER 合并 ​ 全文翻译​ 作题步骤 不要拿到题目就动笔、一定要先读题、重建逻辑、找句子主干、有能力可以润色简化&#xff01; 红楼梦 12 PRACTICE Dream of th…

【java】leetcode 二叉树展开为链表

二叉树展开为链表 leetcode114 .二叉树展开为链表解题思路二叉树专题&#xff1a; leetcode114 .二叉树展开为链表 114 leetcode 链接。可以打开测试 给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNode &#x…

【Redis】共同关注列表与基于Feed流的关注消息滚动分页推送的实现

目录 一、共同关注 1、思路 2、实现步骤 二、Feed流 1、概念 2、需求 3、TimeLine的三种模式 1.拉 2.推 3.推拉结合 4、TimeLine三种模式的区别 三、关注推送 1、需求 2、实现思路 3、Redis数据结构的选择 4、滚动分页 5、代码实现 1.博主 2.粉丝 一、共同关…

Packet Tracer - 在 VTY 线路上配置 ACL

Packet Tracer - 在 VTY 线路上配置 ACL 地址分配表 设备 接口 IP 地址 子网掩码 默认网关 路由器 F0/0 10.0.0.254 255.0.0.0 不适用 PC NIC 10.0.0.1 255.0.0.0 10.0.0.254 笔记本电脑 NIC 10.0.0.2 255.0.0.0 10.0.0.254 拓扑图 目标 第 1 部分&#…

企业性能测试全面解析,一步步教你进行性能测试!

目录 前言&#xff1a; 性能需求调研 性能测试计划制定 性能测试执行 性能测试结果分析与优化 结尾&#xff1a; 前言&#xff1a; 在软件开发过程中&#xff0c;性能测试是一个非常重要的环节。性能测试的主要目的是评估系统在负载情况下的响应时间、吞吐量、稳定性等指…

【C语言】二分查找(含图解)

文章目录 1. 二分查找思想2. 代码实现2.1 未封装函数2.2 封装函数&#xff08;使用while循环&#xff09;2.3 封装函数&#xff08;使用递归&#xff09; 1. 二分查找思想 二分法&#xff1a;二分查找算法是一种在有序数组中查找某一特定元素的搜索算法&#xff0c;其思想就是…

【Linux】多线程操作

文章目录 一. 线程库二. 多线程操作1. 线程创建2. 线程等待3. 线程退出4. 线程取消5. 线程分离6. 返回值 三. 多线程理解结束语 一. 线程库 在Linux下&#xff0c;并没有真正的线程&#xff0c;只有用进程模拟的轻量级进程&#xff0c;所以Linux并没有提供可以直接创建线程的接…