matlab中interp1函数2函数到底是怎么内插的呢

matlab的interp2二维数据内插值函数
matlab的interp2二维数据内插值函数
发布时间: 19:51:58
编辑:www.fx114.net
本篇文章主要介绍了"matlab的interp2二维数据内插值函数",主要涉及到matlab的interp2二维数据内插值函数方面的内容,对于matlab的interp2二维数据内插值函数感兴趣的同学可以参考一下。
功能 二维数据内插值(表格查找)
格式
(1)ZI = interp2(X,Y,Z,XI,YI)
返回矩阵ZI,其元素包含对应于参量XI 与YI(可以是向量、或同型矩阵) 的元素, 即Zi(i,j) ←[Xi(i,j),yi(i,j)]。用户可以输入行向量和列向量Xi 与Yi,此时,输出向量Zi 与矩阵meshgrid(xi,yi)是同型的。同时取决于由输入矩阵X、Y 与Z 确定的二维函数Z=f(X,Y)。参量X 与Y 必须是单调的,且相同的划分格式,就像由命令meshgrid 生成的一样。若Xi与Yi 中有在X 与Y范围之外的点,则相应地返回nan(Not a Number)。Matlab中文论坛
(2)ZI = interp2(Z,XI,YI)
缺省地,X=1:n、Y=1:m,其中[m,n]=size(Z)。再按第一种情形进行计算。
(3)ZI = interp2(Z,n)
作n 次递归计算,在Z 的每两个元素之间插入它们的二维插值,这样,Z 的阶数将不断增加。interp2(Z)等价于interp2(z,1)。
Matlab中文论坛
(4)ZI = interp2(X,Y,Z,XI,YI,method)
用指定的算法method 计算二维插值:
’linear’:双线性插值算法(缺省算法);
’nearest’:最临近插值;
’spline’:三次样条插值;
’cubic’:双三次插值。
1. &&[X,Y] = meshgrid(-3:.25:3);
2. &&Z = peaks(X,Y);
3. &&[XI,YI] = meshgrid(-3:.125:3);
4. &&ZZ = interp2(X,Y,Z,XI,YI);
5. &&surfl(X,Y,Z);
6. &&surfl(XI,YI,ZZ+15)
7. &&axis([-3 3 -3 3 -5 20]);shading flat《Simulink与信号处理》
8. &&hold off
1. &&years = 0;
2. &&service = 10:10:30;
3. &&wage = [150.697 199.592 187.625
4. 179.323 195.072 250.287
5. 203.212 179.092 322.767
6. 226.505 153.706 426.
7. 249.633 120.281 598.243];
8. &&w = interp2(service,years,wage,15,1975)
插值结果为:
2. 190.6288
来源于:/doc-view-1694.html
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:interp2_use matlab中 函数二维曲面插值
238万源代码下载-
&文件名称: interp2_use
& & & & &&]
&&所属分类:
&&开发工具: matlab
&&文件大小: 1 KB
&&上传时间:
&&下载次数: 11
&&提 供 者:
&详细说明:matlab中interp2函数二维曲面插值-matlab function of two-dimensional surface interpolation in interp2
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&interp2_qumian.m
&近期下载过的用户:
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - MATLAB写的二维和三维曲面插值的一些程序,供大家参考学习
&[] - 最小二乘曲面拟合程序(m文件),对一组三维数据z=f(x,y)拟合,成为关于x和y的多项式
积分计算实例,二维积分-体积,计算二维曲面面积。
&[] - 在2d不光滑曲面上的射线跟踪算法,效果比较好,希望可以帮助到大家
&[] - 这是修补曲面缝隙的一个实例代码,其中涉及到uiblock、ugopen、nxopen的函数
&[] - 利用polyval2d函数可以得出polyfit2d拟合的三维曲面的函数的系数矩阵
&[] - 二维图形的曲面你和与平滑,相当于曲面插值计算。其他内容(5)
下面是一段产生log-normal分布的代码,以此进行说明。&
for t=1:100
Traffic(t) =curve(t);
MaxTraffic = max(Traffic);
Wmax = 2*pi*w/3000;
x=[0:10:300];
y=[0:10:300];
Nx=length(x);
Ny=length(y);
Sigma = 0.53;
M = 10*curve(t)/MaxT
for i=1:Nx
Mu = log(M)-0.5*Sigma^2;
Rho(i,j) = RhoFromCoordination(x(i),y(j),Wmax,Sigma,Mu);
Lognrnd(i,j) = round(exp(Sigma*Rho(i,j)+Mu));
sum = Lognrnd(i,j)+
[xi,yi]=meshgrid(0:2:300,0:2:300);
z1=interp2(x,y,Lognrnd,xi,yi,'spline');%三次样条插值
surf(xi,yi,z1)
(1)首先理解meshgrid的原理和用法。简单地说,就是产生Oxy平面的网格坐标。
& & & &在进行3-D绘图操作时,涉及到x、y、z三组数据,而x、y这两组数据可以看做是在Oxy平面内对坐标进行采样得到的坐标对(x,y)。例如,要在“3&=x&=5,6&=y&=9,z不限制区间”这个区域内绘制一个3-D图形,如果只需要整数坐标为采样点的话。我们可能需要下面这样一个坐标构成的矩阵:
& & & (3,9),(4,9),(5,9);
& & & (3,8),(4,8),(5,8);
& & & (3,7),(4,7),(5,7);
& & & (3,6),(4,6),(5,6);
& 在matlab中我们可以这样描述这个坐标矩阵
& 把各个点的x坐标独立出来,得:
& & & & & &3,4,5;
& & & & & &3,4,5;
& & & & & &3,4,5;
& & & & & &3,4,5;
&&&&&&再把各个点的y坐标也独立出来:
& & & & & &9,9,9;
& & & & & &8,8,8;
& & & & & &7,7,7;
& & & & & &6,6,6;
&&&&&&这样对应的x、y结合,便表示了上面的坐标矩阵。meshgrid就是产生这样两个矩阵,来简化我们的操作。然后根据(x,y)计算获得z,并绘制出三维图形。
(2)理解interp2的参数含义和用法,如ZI= interp2(X,Y,Z,XI,YI,'spline')
A、返回矩阵ZI,ZI的元素包含对应于参量XI
与YI(可以是向量、或同型矩阵)
的元素, 即ZI(i,j)←(XI(i),YI(j))
B、用户可以输入行向量和列向量XI与YI。
C、若XI与YI
与Y范围之外的点,则相应地返回nan(Not a Number)。
D、用指定的算法method
计算二维插值:
&&&&&&&&&&&’linear’&&:双线性插值算法(缺省算法);
&&&&&&&&&&&’nearest'&&:最临近插值;
&&&&&&&&&&&’spline’&&:三次样条插值;
&&&&&&&&&&&’cubic’&&&:双三次插值。
E、如以下的运用:
&&&&&&[xi,yi] = meshgrid(0:2:300,0:2:300);
&&&&&&ZI = interp2(x,y,Lognrnd,xi,yi,'spline');%三次样条插值
&&&&&&surf(xi,yi,ZI)%这里已经不再是(x,y),而是(xi,yi)。
(3)上述的代码效果
插值前:
插值后:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:9502次
排名:千里之外
原创:67篇
转载:17篇
(22)(15)(1)(6)(37)

我要回帖

更多关于 matlab中interp2函数 的文章

 

随机推荐