120871464 发表于 2007-5-30 21:33

插值问题

T1      T2      T3      T4      T5      T6      T7      T8      T9      T10
1mm      2mm      3mm      4mm      5mm      6mm      7mm      8mm      9mm      10mm
D1      D2      D3         D4         D5      D6      D7      D8      D9      D10
                2.67      1.52      1.02      0.75      0.57      0.48      0.43      0.41

如上面的数据,若用拉格朗日插值,误差太大.请问有别的什么函数可以差值吗?所要插的值已经超出了X的范围,如果有.请将具体的程序写一下.谢谢啦!!

[ 本帖最后由 eight 于 2007-5-30 21:51 编辑 ]

eight 发表于 2007-5-30 21:51

原帖由 120871464 于 2007-5-30 21:33 发表 http://www.chinavib.com/forum/images/common/back.gif
T1      T2      T3      T4      T5      T6      T7      T8      T9      T10
1mm      2mm      3mm      4mm      5mm      6mm      7mm      8mm      9mm      10mm
D1      D2      D3         D4         D5      D6      D7      D8      D9      D10
                2.67      1.52      1.02      0.75      0.57      0.48      0.43      0.41

如上面的数据,若用拉各朗日插值,误差太大.请问 ...

help interp1

120871464 发表于 2007-5-31 09:22

没有这个啊
我 找过了
搜不到

wangyi_elite 发表于 2007-5-31 09:25

有的   INTERP1 1-D interpolation (table lookup)
    YI = INTERP1(X,Y,XI) interpolates to find YI, the values of the
    underlying function Y at the points in the array XI. X must be a
    vector of length N.
    If Y is a vector, then it must also have length N, and YI is the
    same size as XI.If Y is an array of size , then
    the interpolation is performed for each D1-by-D2-by-...-Dk value
    in Y(i,:,:,...,:).
    If XI is a vector of length M, then YI has size .
    If XI is an array of size , then YI is of size
    .

    YI = INTERP1(Y,XI) assumes X = 1:N, where N is LENGTH(Y)
    for vector Y or SIZE(Y,1) for array Y.

    Interpolation is the same operation as "table lookup".Described in
    "table lookup" terms, the "table" is and INTERP1 "looks-up"
    the elements of XI in X, and, based upon their location, returns
    values YI interpolated within the elements of Y.

    YI = INTERP1(X,Y,XI,METHOD) specifies alternate methods.
    The default is linear interpolation. Use an empty matrix [] to specify
    the default. Available methods are:

      'nearest'- nearest neighbor interpolation
      'linear'   - linear interpolation
      'spline'   - piecewise cubic spline interpolation (SPLINE)
      'pchip'    - shape-preserving piecewise cubic interpolation
      'cubic'    - same as 'pchip'
      'v5cubic'- the cubic interpolation from MATLAB 5, which does not
                   extrapolate and uses 'spline' if X is not equally
                   spaced.

    YI = INTERP1(X,Y,XI,METHOD,'extrap') uses the specified method for
    extrapolation for any elements of XI outside the interval spanned by X.
    Alternatively, YI = INTERP1(X,Y,XI,METHOD,EXTRAPVAL) replaces
    the values outside of the interval spanned by X with EXTRAPVAL.
    NaN and 0 are often used for EXTRAPVAL.The default extrapolation
    behavior with four input arguments is 'extrap' for 'spline' and 'pchip'
    and EXTRAPVAL = NaN for the other methods.

    PP = INTERP1(X,Y,METHOD,'pp') will use the specified method to
    generate the ppform (piecewise polynomial form) of Y. The method may be
    any of the above except for 'v5cubic'. PP may then be evaluated via
    PPVAL. PPVAL(PP,XI) is the same as INTERP1(X,Y,XI,METHOD,'extrap').

    For example, generate a coarse sine curve and interpolate over a
    finer abscissa:
      x = 0:10; y = sin(x); xi = 0:.25:10;
      yi = interp1(x,y,xi); plot(x,y,'o',xi,yi)

    For a multi-dimensional example, we construct a table of functional
    values:
      x = '; y = [ x.^2, x.^3, x.^4 ];
      xi = [ 1.5, 1.75; 7.5, 7.75]; yi = interp1(x,y,xi);

    creates 2-by-2 matrices of interpolated function values, one matrix for
    each of the 3 functions. yi will be of size 2-by-2-by-3.

120871464 发表于 2007-5-31 10:31

但是,如果 Xi 的范围超出了 X 的范围怎么拟合啊

[ 本帖最后由 eight 于 2007-5-31 11:24 编辑 ]

lxq 发表于 2007-5-31 11:20

原帖由 120871464 于 2007-5-31 10:31 发表 http://www.chinavib.com/forum/images/common/back.gif
但是,如果Xi的范围超出了X的范围怎么拟和啊

没说明白呀

eight 发表于 2007-5-31 11:25

原帖由 120871464 于 2007-5-31 10:31 发表 http://www.chinavib.com/forum/images/common/back.gif
但是,如果 Xi 的范围超出了 X 的范围怎么拟合啊

interp1 函数会自动处理,无需担心,如果想了解具体的延托算法,请看看 interp1 函数的代码
页: [1]
查看完整版本: 插值问题