matlab中的插值计算函数,MATLAB中的插值函数|全国大学生数学建模竞赛(CUMCM)|MATLAB技术论坛 - Powered by Discuz!...
MATLAB插值函数
2012-08-27 16:11:48| 分类: Matlab |举报|字号 订阅
matlab中常用的差值函数:
interp1 ,interplq ,interpft, spline, intep2, interp3, interpN.
2012a中有interp1,interp1q, interpft, spline, pchip, interp2, interp3, interpn, ppval
interp1
其调用格式为: yi= interp1(x,y,xi,'method')
其中x,y为插值点,yi为在被插值点xi处的插值结果;x,y为向量, 'method'表示采用的插值方法,MATLAB提供的插值方法有几种: 'method'是最邻近插值, 'linear'线性插值; 'spline'三次样条插值; 'cubic'立方插值.缺省时表示线性插值
interpft 利用FFT插值
interp1q函数
作用:形成线性插值函数。
格式: z=interp1q( x , y , xi)
它返回一个列向量,其中值为一元线性插值函数z在点xi的对应值,列向量x,y确定控制点下的水平和垂直坐标,x中的元素值必须单调递增,向量z的长度与x的相等。
例如:>>z=interp1q([0 255]’,[0 255]’,[0:255]’)
>>plot([0 255],[0 255],'o',[0:255],z)
会产生一个有256个元素的一对一的映射来连接控制点(0,0)和(255,255)——即,z=[0 1 2…255]’。
interpft()
在MATLAB中,一维快速傅立叶插值通过函数interpft()来实现,该函数利用傅立叶变换将输入数据变换到频域,然后用更多点的傅立叶逆变换,变换回时域,其结果是对数据进行增采样。调用格式如下。
y=interpft(x, n):对x进行傅立叶变换,然后采用n点傅立叶反变换,变回到时域。如果x是一个向量,数据x的长度为m,采样间隔为dx,则数据y的采样间隔是dx×m/n,其中n必须大于m。如果x是矩阵,该函数对矩阵x的列进行操作,其返回的结果y与x具有相同的列,行数为n。
y=interpft(x, n, dim):在dim指定的维度上进行操作。
【例5-13】 利用一维快速傅立叶插值实现数据增采样,其实现的MATLAB代码如下:
clear all;
x=0:1.1:8;
y=sin(x);
n=2*length(x); %增采样1倍
yi=interpft(y,n); %采用一维快速傅立叶插值
xi=0:0.55:8.3; %要插值的数据
figure; %画图显示
hold on;
plot(x,y,'ro',xi,yi,'b-');
legend('原始数据','插值后结果');
spline函数
作用:形成三次插值(cubic spline interpolation )
格式: z=spline(x , y ,xi)
列向量x,y确定控制点下的水平和垂直坐标,x中的元素值必须单调递增,向量z的长度与x的相等
----------------------------------另---------------------
在MATLAB中,三次样条插值可以采用函数spline(),该函数的调用格式如下。
yi=spline(x, y, xi):通过初始数据 产生插值函数 ,然后对数据xi进 行插值,返回值 。采用这种调用方式时,其相当于yi=interp1(x, y, xi, 'spline')。
pp=spline(x, y):该函数通过对初始数据x和y产生插值函数,并进行返回。然后利用函数ppval()对数据xi进行插值计算,其调用方式为yi=ppval(pp, xi),其中pp为插值函数。
--------------------------------------------------------------
例子:>>x = 0:10;
>>y = sin(x);
>>xx = 0:.25:10;
>>yi = interp1(x,y,xx); %interp1 q是interp1的特例
>>plot(x,y, ‘0’,xx,yi)
>>yy = spline(x,y,xx);
>>plot(x,y,'o',xx,yy)
interp2()进行二维插值,其调用格式如下。
zi=interp2(x, y, z, xi, yi):通过初始数据x、y和z产生插值函数y = f(x, y),返回值zi是(xi, yi)在函数f(x, y)上的值。
zi=interp2(x, y, z, xi, yi, method):其中method为可疑采用的插值方法。二维插值采用的方法有4种,分别是'nearest'、'linear'、'spline'和'cubic',其中线性插值为默认的插值方法。
zi=interp2(x, y, z, xi, yi, method, extrapval):当数据超过原始数据范围时,用extraval进行替代的一种外推方法。
【例5-14】 二维插值函数实例分析,分别采用'nearest'、'linear'、'spline'和'cubic'进行二维插值,并绘制三维表面图。其实现的MATLAB代码如下:
>> clear all;
[x,y]=meshgrid(-4:0.8:4); %原始数据
z=peaks(x,y);
[xi,yi]=meshgrid(-4:0.2:4); %插值数据
zi_nearest=interp2(x,y,z,xi,yi,'nearest'); %临近点插值
zi_linear=interp2(x,y,z,xi,yi); %系统默认为线性插值
zi_spline=interp2(x,y,z,xi,yi,'spline'); %三次样条插值
zi_cubic=interp2(x,y,z,xi,yi,'cubic'); %三次多项式插值
figure; %数据显示
hold on;
subplot(321);
surf(x,y,z); %绘制原始数据点
title('原始数据');
subplot(322);
surf(xi,yi,zi_nearest); %绘制临近点插值的结果
title('临近点插值');
subplot(323);
surf(xi,yi,zi_linear); %绘制线性插值的结果
title('线性插值');
subplot(324);
surf(xi,yi,zi_spline); %绘制三次样条插值的结果
title('三次样条插值');
subplot(325);
surf(xi,yi,zi_cubic); %绘制三次多项式插值的结果
title('三次多项式插值');
interp3()
在MATLAB中,采用函数interp3()进行三维插值,该函数的调用格式如下。
vi=interp3(x, y, z, v, xi, yi, zi):该函数通过初始数据 产生插值函数 ,然后对数据 进行插值,返回值为vi。
vi=interp3(x, y, z, v, xi, yi, zi, method):该函数中method为可以采用的插值方法,共有4种,分别是'nearest'、'linear'、'spline'和'cubic',其中线性插值为默认的插值方法。
【例5-16】 利用函数interp3()进行三维插值,代码如下:
clear all;
[x,y,z,v]=flow(10);
[xi,yi,zi]=meshgrid(.1:.25:10,-3:.25:3,-3:.25:3); %创建网格数据
vi = interp3(x,y,z,v,xi,yi,zi); % vi为25*40*25
slice(xi,yi,zi,vi,[6 9.5],2,[-2 .2]);
shading flat
N维插值函数 interpN( )
其中N可以为2,3,…,如N=2为二维插值,调用格式为
zi=interp2(x,y,z,Xi,Yi,’method’)
其中x,y为横纵坐标上的坐标点,{(x,y)}=mashgrid(x,y)生成平面网格点,z为观测到的在网格点上的二元函数值.{(x,y,z)}构成空间插值节点.引入两个向量xi,yi.xi为横坐标上的插值点,yi为纵坐标上的插值点.便可给出
[Xi,Yi]=meshgrid(xi,yi)
zi为新的或者是加细了的网格点上产生的插值结果(函数值).
'method' 表示采用的插值方法.`nearest` 最邻近插值,`linear`线性插值,`cubic`双三次插值.缺省时表示线性插值.所有的插值方法都要求x和y是单调的网格,x和y可以是等距的也可以是不等距的.
matlab中的插值计算函数,MATLAB中的插值函数|全国大学生数学建模竞赛(CUMCM)|MATLAB技术论坛 - Powered by Discuz!...相关推荐
- 全国大学生数学建模竞赛禁用MATLAB?这届哈工大学生太难了
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 [导读]全国大学生数学建模竞赛开赛在即,但有消息传来,此次比赛哈工大的学生将被禁止使用MathWork ...
- 2011高教社杯全国大学生数学建模竞赛题目(MATLAB)
问题描述 2011高教社杯全国大学生数学建模竞赛题目 (请先阅读"全国大学生数学建模竞赛论文格式规范") A题 城市表层土壤重金属污染分析 随着城市经济的快速发展和城市人口的不断增 ...
- 1998年全国大学生数学建模竞赛A题——投资的收益和风险数模P133|lingo,matlab
1998年全国大学生数学建模竞赛A题 目录 题目 问一 用lingo求解 用matlab求解 问2 题目 市场上有n 种资产(如股票.债券.-)Si ( i=1,-n) 供投资者选择,某公司有数额为M ...
- 华为杯数学建模2020获奖名单_我校在2020年全国大学生数学建模竞赛中再获佳绩(内附获奖名单)...
# 近日,从全国大学生数学建模竞赛组委会获悉,我校在2020年全国大学生数学建模竞赛中获得5项国家二等奖.国家奖获奖数量在全国农林院校中并列排名第二.在黑龙江省高校中位居第三名. 1 你的喜悦,我们的 ...
- 全国大学生数学建模竞赛2011B题交巡警服务平台的设置与调度MATLAB程序与LINGO程序
目录 一.第1问 二.第2问 三.第3问 四.第4问 五.第5问 一.第1问 %第1问MATLAB程序 %% 对应计算两点间距离(A区) a=xlsread('2011B.xls','全市交通路口节点 ...
- 2022年高教社杯全国大学生数学建模竞赛-【赛题解析篇】B题:无人机遂行编队飞行中的纯方位无源定位(附Python代码实现)
前言 最近发现一个关于数学建模比较好的专栏,需要的小伙伴可移步[数学建模应用]算法实战案例精讲300篇(持续更新ing) 赛题描述 无人机集群在遂行编队飞行时,为避免外界干扰,应尽可能保持电磁静默,少 ...
- 全国大学生数学建模竞赛2019C题机场的出租车问题MATLAB程序
目录 前言 一.第1问 1.1 计算模型中等待时间t2MATLAB程序 1.2 计算模型中等待时间t2(灵敏度分析)MATLAB程序 二.第2问 2.1 代入t2到模型进行计算MATLAB程序 2.2 ...
- 全国大学生数学建模竞赛2012A题葡萄酒的评价MATLAB程序
目录 一.第1问 1.1 单因素方差分析MATLAB程序 1.2 置信区间长度MATLAB程序 1.3 Q-Q图MATLAB程序 二.第2问 2.1 主成分分析--成分个数MATLAB程序 2.2 主 ...
- matlab 电路频率响应_2020年中青杯全国大学生数学建模竞赛——A题 集成电路通道布线...
A题做完了. ------------------------------ 背景: 电路设计与实现需要借助专用计算机软件才能完成,该类软件统称为电子设计自动化工具. 电路设计的一个重要阶段称为&quo ...
- 交巡警求全市距离MATLAB程序,高教社杯全国大学生数学建模竞赛B题参考答案
交巡警服务平台的设置与调度优化分析 摘 要 本文以实现警察的刑事执法.治安管理.交通管理.服务群众四大职能为宗旨,利用有限的警务资源,根据城市的实际情况与需求合理地设置了交巡警服务平台.分配各平台的管 ...
最新文章
- oracle基础-基本的查询,以及pl/sql登录
- Python变量作用域问题
- NB!技术人都在关注的公众号~
- leetcode 141. Linked List Cycle
- 高可用的 MFS 文件分布式系统(Drdb+heartbeat+MFS )
- 信安教程第二版-第23章云计算安全需求分析与安全保护工程
- html 最小长度单位,html见长度单位尺寸单�?CSS布局HTML
- mysql——解压版安装详解
- LA3485二分+求解积分方程+辛普森算法计算积分
- matlab中modred,计算机仿真技术(中南大学)3系统模型及转换.ppt
- pe卸载win10更新补丁_Win10怎么卸载有问题更新补丁|Win10卸载更新补丁
- 最好的都在这里了 2016上半年电影豆瓣口碑排行榜
- 统计局解读1月制造业采购经理指数:服务业回升明显
- java 读取csv文件乱码_java读取csv文件乱码怎么解决
- html背景图片溢出,如何清除背景图片溢出?
- 游戏开发相关书籍推荐,简介
- 2017第四届“云鼎奖”申报火热进行中
- 使用Inno Setup软件直接给安装程序和卸载程序加数字签名
- Effective Java读书笔记---二、创建和销毁对象
- html a/ a标签使用总结