• Matlab_spline


    1 x=[1.3889, 2.7778, 4.1667, 5.5556, 6.9444, 8.3333, 9.7222, 11.1111,12.500];
    2 y=[1.25, 2.40, 3.25, 4.00, 4.50, 5.50, 6.50, 7.00, 8.00];
    3 x_new=0:0.1:15;
    4 y_1=spline(x,y,x_new);
    5 plot(x,y,'o',x_new,y_1);title('spline fit');

    样本插值

    除了样本插值,还有nearest, zero,quadratic,cubic

    都可以用numpy进行实现

    用numpy实现的图像与matlab差不多,但是视觉上感觉numpy好看一些,而且用起来顺手

     1 import numpy as np
     2 from scipy import interpolate
     3 import pylab as pl
     4 
     5 x = np.array([
     6     1.3889, 2.7778, 4.1667, 5.5556, 6.9444, 8.3333, 9.7222, 11.1111,12.5000
     7     ])
     8 y = np.array([
     9     1.25, 2.40, 3.25, 4.00, 4.50, 5.50, 6.50, 7.00, 8.00
    10     ])
    11 
    12 xnew = np.linspace(0, 15, 101)
    13 pl.plot(x, y, "ro")
    14 
    15 for kind in ["nearest", "zero", "spline", "quadratic", "cubic"]:  # 插值方式
    16     # "nearest","zero"为阶梯插值
    17     # "spline" 样条插值
    18     # "quadratic","cubic" 为2阶、3阶B样条曲线插值
    19     f = interpolate.interp1d(x, y, kind=kind, fill_value = 'extrapolate')
    20     ynew = f(xnew)
    21     pl.plot(xnew, ynew, label=str(kind))
    22 pl.legend(loc="lower right")
    23 pl.show()

    但是用numpy实现插值存在一个问题,无法采样!!!

    所以在最后还是只好用matlab进行插值!

    command windows:

    >>pp = spline(x,y)

  • 相关阅读:
    ue4 材质表达式分类
    UE4材质特别属生记录
    tangent space与object space
    better-scroll插件 api
    better-scroll 与 Vue 结合
    git 简介
    vue 插件
    前端小程序——js+canvas 给图片添加水印
    使用Node.js给图片加水印的方法
    Vue框架 周期
  • 原文地址:https://www.cnblogs.com/AlexHaiY/p/9374261.html
Copyright © 2020-2023  润新知