mdsk.net
当前位置:首页 >> mAtlAB插值intErp1 >>

mAtlAB插值intErp1

interp1函数:一维数据插值函数 一维数据插值.该函数对数据点之间计算内插值,它找出一元函数f(x)在中间点的数值,其中函数表达式由所给数据决定. yi=interp1(x,Y,xi):返回插值向量yi,每一元素对应于参量xi,同时由向量X与Y的内插值决

是多少你执行一下就知道了.linear是线性插值,采用已知数据两点之间连线的方式,根据要插值的点在线上的位置计算插值结果,这是比较常用的.nearest是最近点插值,直接找到最近的数据点,用该点的值直接代替,不太常用.

y=[2,3,4]; x=[1,2,3]; 是这样的:插值分内插和外插.如果要求xx对应的yy的值,若此xx在你的x范围内,应当算是内插.比如2.9就是在x=[1,2,3]内,它应当是内插.内插matlab有好多种方法.以下几个都可以.z=interp1(x,y,2.9,'nearest') z=interp1(x,y,2.9,'linear') z=interp1(x,y,2.9,'spline') z=interp1(x,y,2.9,'cubic') 如果要求4对应的函数值,那么应当算是外插.

尽可能把显示曲线变化的点选出来,比如,拐点,极值点吧 ,我觉得你可以把这些数据放到MAtlab中 cftool+enter 看一下它的变化趋势

更正个啥?压根就用错了函数,你所理解的interp2插值函数是要坐标单调增减的,而你那里载入的是实际数据,肯定不一定是单调的,所以interp2就是逗人玩的.按照你的目的,实际应用可以用griddata函数,用v4方法,不会产生nan,作图时就是完整的图像了,受累查查帮助吧.

虽然我很聪明,但这么说真的难到我了

因为出现nan的点是随机分布的,不好用interp2插值用griddata插值是可以解决问题的b =[2 nan nan 1 nan 2 1 1 2 nan 1 nan];s=size(b);ind=find(~isnan(b));[i j]=ind2sub(s,ind);v=b(ind);[ii jj]=ndgrid(1:s(1),1:s(2));ib=griddata(i,j,v,ii,jj);不过注意,在角点的nan值是不能消除的

插值用三样条吧,这样好看,其实日在百度上搜一下如何显示插值函数,再对插值函数求导即可

你要的是编这命令的程序还是怎么运用这个命令啊

[MATLAB]三个点一般可以使用二次插值,方法如下:yi=interp1([1,2,3],[4,5,6],2.2,'spline') 计算结果为:yi=5.2000 另外,你取的点比较特殊,做出来其实是个一次线性插值.要知道interp1的详细功能请使用:help interp1

nnpc.net | mtwm.net | hbqpy.net | zhnq.net | 9371.net | 网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com