matlab数据插值(举例:空间插值、图像处理方面)
matlab代码
[x,y]=meshgrid(-3:1:3);
z=peaks(x,y)
[xi,yi]=meshgrid(-3:0.25:3);
figure(1)
surfc(x,y,z)
title('原始数据')
zi1=interp2(x,y,z,xi,yi,'spline')
zi2=interp2(x,y,z,xi,yi,'linear')
zi3=interp2(x,y,z,xi,yi,'nearest')
zi4=interp2(x,y,z,xi,yi,'cubic')
figure(2)subplot(2,2,1);surf(xi,yi,zi1);subplot(2,2,2);surf(xi,yi,zi2);subplot(2,2,3);surf(xi,yi,zi3);subplot(2,2,4);surf(xi,yi,zi4);
有棱有角
分别为:spline linear nearest cubic
cubic:
图像处理
比较不同的差值方法(图像处理方面)
最邻近元法The nearest
计算量较小,但可能会造成插值生成的图像灰度上的不连续,在灰度变化的地方可能出现明显的锯齿状。
双线性内插法Bilinear Interpolation
的计算比最邻近点法复杂,计算量较大,但没有灰度不连续的缺点,结果基本令人满意。它具有低通滤波性质,使高频分量受损,图像轮廓可能会有一点模糊。
三次内插法Cubic interpolation
:该方法利用三次多项式S(x)求逼近理论上最佳插值函数sin(x)/x, 其数学表达式为:
待求像素(x, y)的灰度值由其周围16个灰度值加权内插得到
“Inverse Distance to a Power(反距离加权插值法)”、
“Kriging(克里金插值法)”、
“Minimum Curvature(最小曲率)”、
“Modified Shepard’s Method(改进谢别德法)”、
“Natural Neighbor(自然邻点插值法)”、
“Nearest Neighbor(最近邻点插值法)”、
“Polynomial Regression(多元回归法)”、
“Radial Basis Function(径向基函数法)”、
“Triangulation with Linear Interpolation(线性插值三角网法)”、
“Moving Average(移动平均法)”、
“Local Polynomial(局部多项式法)”
空间分析
空间分析中的插值
优点比较
1)OK 插值法:以空间统计学作为理论基础,可以克服内插中误差难以分析的问题,能够对误差作为这逐点的理论估计,不会产生回归分析的边界效应,插值精度较高,唯一性很强,外推能力较强。
2)TS 插值法:不需要对空间结构进行预先估计和作统计假设,只进行局部区块的拟合,用以补充或修改局部区块的空间变量分布曲面,而不用处理不涉及局部区块修改的其他部分的数据,当表面很平滑时,也不牺牲精度。
3)IDW 插值法:计算开销少,具有普适性,不需要根据数据的特点对方法加以调整,当样本数据的密度足够大时,几何方法一般能达到满意的精度。
缺点比较
1)OK 插值法:作为一种统计学方法,复杂,计算量大,运算速度慢,变异函数需要根据经验人为选定。
2)TS 插值法:作为一种函数方法,难以满足对于利用有限的观测数据进行缺值预测和内插格网的精度要求,也难以对误差进行估计,样本点稀疏时插值效果不好。
3)IDW 插值法作为一种几何方法,插值结果受 r 值的影响很大,根据不同 r 值估算的同一未知点的值会有很大的差别。当任何一个 dri=0(1≤i≤n,1≤r≤n)dri=0(1≤i≤n,1≤r≤n)dri=0(1≤i≤n,1≤r≤n)时,该点权值为无穷大,导致该点的输出数据不连续,计算时会得到其实际测量值,在进行外插值时,IDW会不恰当地将这些估计值回归为观测数据的平均值;当选用的插值距离的次数为偶数时,dir 为非负数,插值结果Z总是满足:Zmin<Z<Zmax[5]Zmin<Z<Zmax[5]Zmin<Z<Zmax[5]。因此,在山峰、山谷及数据点以外的区域,IDW 的插值常常产生一些与我们直觉相矛盾的结果。IDW 权值的大小直接影响了标准差的大小,决定了插值的整体精度情况,对插值结果造成重大的影响。
3 种方法的适用范围比较
1)OK 插值法适用性较广,普遍用于局部的、区域较小的范围,需满足内蕴假设,其区域化变量的平均值是未知的常数[6]。
2)TS 插值法适合于非常平滑的表面,一般要求有连续的一阶和二阶导数,适用于密度较大的点内插求等值线,对整体的、点的数量较多的数据有很好的插值效果。
3)IDW 插值法适用于整体的样本点的密度较大且样本点的分布比较均匀的数据。
matlab代码的解释:
meshgrid
[X,Y] = meshgrid(x,y) 基于向量 x 和 y 中包含的坐标返回二维网格坐标。X 是一个矩阵,每一行是 x 的一个副本;Y 也是一个矩阵,每一列是 y 的一个副本。坐标 X 和 Y 表示的网格有 length(y) 个行和 length(x) 个列。
示例
[X,Y] = meshgrid(x) 与 [X,Y] = meshgrid(x,x) 相同,并返回网格大小为 length(x)×length(x) 的方形网格坐标。
示例
[X,Y,Z] = meshgrid(x,y,z) 返回由向量 x、y 和 z 定义的三维网格坐标。X、Y 和 Z 表示的网格的大小为 length(y)×length(x)×length(z)。
示例
[X,Y,Z] = meshgrid(x) 与 [X,Y,Z] = meshgrid(x,x,x) 相同,并返回网格大小为 length(x)×length(x)×length(x) 的三维网格坐标。
surfc
surfc(X,Y,Z) 使用 Z 来代表颜色数据和曲面高度。X 和 Y 是用于定义曲面的 x 和 y 分量的向量或矩阵。如果 X 和 Y 为向量,length(X) = n 且 length(Y) = m,其中 [m,n] = size(Z)。在这种情况下,曲面顶点是 (X(j), Y(i), Z(i,j)) 三元组。要创建任意域的 X 和 Y 矩阵,请使用 meshgrid 函数。
[X,Y,Z] = peaks(30);
figure
surfc(X,Y,Z)
peaks
peaks 是从高斯分布
转换和缩放得来的包含两个变量的函数,在演示 mesh、surf、pcolor、contour 等函数中很有用。
Z = peaks; 返回一个 49×49 矩阵。
Z = peaks(n); 返回一个 n×n 矩阵。
Z = peaks(V); 返回一个 n×n 矩阵,其中 n = length(V)。
Z = peaks(X,Y); 在给定的 X 和 Y(必须大小相同)处计算 peaks 并返回大小相同的矩阵。
peaks(…)(无输出参数)使用 surf 绘制 peaks 函数。使用先前语法中的任意输入参数组合。
[X,Y,Z] = peaks(…); 返回另外两个矩阵 X 和 Y 用于参数绘图,例如 surf(X,Y,Z,del2(Z))。如未作为输入参数给出,基础矩阵 X 和 Y 是
[X,Y] = meshgrid(V,V)
其中 V 是给定向量,或者 V 是长度为 n 的向量,其元素从 -3 到 3 均匀间隔。如果未给出输入参数,默认的 n 是 49。
n增大,peak(n)提高来采样率
interp2
Interpolation — increase sample rate by integer factor
提高采样率的整数倍
Syntax
y = interp(x,r)
y = interp(x,r,n,alpha)
[y,b] = interp(x,r,n,alpha)
Description
y = interp(x,r) increases the sample rate of x, the input signal, by a factor of r.
y = interp(x,r,n,alpha) specifies two additional values:
n is half the number of original sample values used to interpolate the expanded signal. n是用于插值扩展信号的原始样本值的一半。
alpha is the normalized cutoff frequency of the input signal, specified as a fraction of the Nyquist frequency. alpha是输入信号的归一化截止频率,指定为奈奎斯特频率的一部分。
[y,b] = interp(x,r,n,alpha) also returns a vector, b, with the filter coefficients used for the interpolation.返回一个向量b,带有用于插值的滤波系数。
z是怎么来的:
z=peaks(x,y)
7*7的矩阵
z =0.0001 0.0034 -0.0299 -0.2450 -0.1100 -0.0043 -0.00000.0007 0.0468 -0.5921 -4.7596 -2.1024 -0.0616 0.0004-0.0088 -0.1301 1.8559 -0.7239 -0.2729 0.4996 0.0130-0.0365 -1.3327 -1.6523 0.9810 2.9369 1.4122 0.0331-0.0137 -0.4808 0.2289 3.6886 2.4338 0.5805 0.01250.0000 0.0797 2.0967 5.8591 2.2099 0.1328 0.00130.0000 0.0053 0.1099 0.2999 0.1107 0.0057 0.0000
引用自 刘光孟 空间分析中几种插值方法的比较
matlab数据插值(举例:空间插值、图像处理方面)相关推荐
- python2 使用arcpy自定义GIS工具箱,实现excel读取、空间插值
一.实验目的 1.掌握Arcpy基本语法.功能函数 2.学会使用Arcpy自定义GIS工具箱 3.使用arcpy进行空间插值 4.自定义创建的Arcmap制图模板,使用arcpy调节图例.注记.比例尺 ...
- Matlab数据插值-内插、外插
插值就是已知一组离散的数据点集,在集合内部某两个点之间预测函数值的方法. 一.一维插值 插值运算是根据数据的分布规律,找到一个函数表达式可以连接已知的各点,并用此函数表达式预测两点之间任意位置上的函数 ...
- matlab中离开网格的流量,数学建模【数据处理方法(一维、二维插值方法;数据拟合方法;插值and拟合的MATLAB实现)】...
[学习网址:MOOC---郑州轻工业大学---数学建模与实验]数学建模专栏 笔记01[第1.2章][概述.软件介绍] 笔记02[第3章][数据处理方法] 笔记03[第4章][规划模型] 笔记04[第5 ...
- matlab全域基函数,多项式函数插值:全域多项式插值(一)单项式基插值、拉格朗日插值、牛顿插值 [MATLAB]...
全域多项式插值指的是在整个插值区域内形成一个多项式函数作为插值函数.关于多项式插值的基本知识,见"计算基本理论". 在单项式基插值和牛顿插值形成的表达式中,求该表达式在某一点处的值 ...
- ArcGIS实验教程——实验十三:栅格空间插值分析
ArcGIS实验视频教程合集:<ArcGIS实验教程从入门到精通>(附配套实验数据) >>> 实验前必读:<完美解决ArcGIS10.x栅格空间插值报错无法进行和导 ...
- gstat | 空间插值(三)——克里金插值之泛克里金和简单克里金
本篇接着上篇继续介绍克里金插值.首先加载相关工具包和上篇使用的示例数据: library(gstat) library(sf) library(tidyverse) library(readxl) l ...
- gstat | 空间插值(二)——克里金插值之普通克里金
说明:昨天的推文误把可吸入颗粒物当作PM2.5,实应该为PM10,这里修正后重发. 从本篇开始计划分三篇介绍克里金插值.与反距离权重插值不同,克里金插值是无偏估计,其中也涉及到模型估计.本篇先对普通克 ...
- gstat | 空间插值(一)——反距离权重插值;使用ggplot2绘制地图
本篇既是空间插值系列的第一篇推文,也是ggplot2工具包系列推文中的一篇.空间插值使用的工具包是gstat,该工具包主要用于地统计分析. library(gstat) 示例数据来自HSAR工具包: ...
- matlab中a2=poly(p2),插值与拟合matlab实现
插值与拟合的Matlab实现 王正盛编写 在科技工程中,除了要进行一定的理论分析外,通过实验.观测数据,做分析.处理也是必不可少的一种途径.由于实验测定实际系统的数据具有一定的代表性,因此在处理时必须 ...
- Matlab数值分析实例:三次样条插值
Matlab数值分析实例:三次样条插值 任务要求 分析 代码实现 总结 任务要求 湖水在夏天会出现分层现象,接近湖面温度较高,越往下温度变低.这种上热下冷的现象影响了水的对流和混合过程,使得下层水域缺 ...
最新文章
- 使用rest_framework写api接口的一些注意事项(axios发送ajax请求)
- SRA数据库的各种编号(DRP, ERP 或SRP)
- Google Play应用描述格式
- 4.2.4 磁盘的管理
- 为什么阿里工程师纷纷在内网晒代码?
- UnitTest in .NET(Part 1)
- KAKASI - 将日文转换为平假名/片假名/罗马音
- Java聊天室系统的设计与实现(完整源码 sql文件 论文)
- 图书管理数据库系统设计
- lisp成套电气设计_针对电气成套行业的专业设计仿真软件
- 武汉代茜2017级计算机科学与技术,毕业论文致谢拾贝(二)
- Blend 设置通明窗体
- 定企业生死的中台,到底长啥样?
- ios-mfi_蓝牙部分翻译
- [洛谷P3939]数颜色
- word插入和删除水印
- 实验二 实现中点分割直线段裁剪算法
- 修改http默认的80端口为其它端口
- studio 3T连接不上mongoDB
- Java分页查询详解
热门文章
- ProTICS包的介绍(根据生信技能树Jimmy老师分享的乳腺癌分子分型包资料整理)
- java首字母大写工具类_StringUtil 字符串工具类
将一个字符串的首字母改为大写或者小写
将一 联合开发网 - pudn.com...
- 学习Mybatis源码
- JQuery表单的提交方式
- android app实现更新功能
- Activiti7-BPMN介绍
- ip地址转换数字函数 iton_PHP中IP地址与整型数字互相转换详解
- 计算机硬件故障诊断的原则,计算机常见故障检测的一般原则是什么
- 工控机服务器系统双网口网卡驱动安装
- 快速编写数据库设计说明书的办法