mdsk.net
当前位置:首页 >> mAtlABintErp1 >>

mAtlABintErp1

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

假设 x= 1 2 3; y= 2 4 6;x1= 0.5 1 1.5 2 2.5 3;那么求y1 对应的量,就是 y1=interp1(x,y,x1); 默认的是线性插值.

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对应的函数值,那么应当算是外插.

三次样条插值直接用spline函数做.边界条件加在y的首尾,第一个表示y'(x0),最后一个表示y'(xt).如果不加边界条件,默认是not-a-knot边界条件(注意不是自然边界条件) 自然边界条件的插值要用csape函数才能得到.如果用interp1,则只能

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

你的机器上有一个自己写的interp1文件,用which命令找到它,将其删除或改名即可.

csape和interp1都是插值函数.csape可以选择样条的边界条件,interp1无法使用边界条件;csape只是Cubic spline插值,interp1可以选择几种不同的插值方法.csape函数的用法如下:pp = csape(x,y,conds,valconds)其中(x,y)为数据向量,

x(:,1)中应该是有相等的数,你再仔细检查下.如果有的话,把相等的数用0.0001加上去或者减上去来区分它们.如果没有,那看一下你的精度是不是太低了.你可以用format long 来调成比较高的精度,这样就不会出现两个因为四舍五入而相等的数了.

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

你函数的用法错了 Syntax yi = interp1(x,Y,xi) yi = interp1(Y,xi) yi = interp1(x,Y,xi,method) yi = interp1(x,Y,xi,method,'extrap') yi = interp1(x,Y,xi,method,extrapval) pp = interp1(x,Y,method,'pp')

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