• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python实现拉格朗日插值及作图

    本文实例为大家分享了python实现拉格朗日插值及作图,供大家参考,具体内容如下

    python代码

    import numpy as np
    import matplotlib.pyplot as plt
    
    X = input("x的值:").split(' ')
    Y = input("y的值:").split(' ')
    x = input("要预测的值:")
    print('\n')
    
    X = np.array(X).astype(np.float64)
    Y = np.array(Y).astype(np.float64)
    x = np.array(x).astype(np.float64)
    
    n = len(X)
    
    # 原函数
    def fun(x):
     return np.sin(x)
    
    # 累乘函数
    def T(x, i, X):
     T_i = 1
     for x_i in X:
      if X[i] == x_i:
       continue
      T_i = T_i * (x-x_i)
     return T_i
    
    # 插值基函数
    def P(i, x, X, Y):
     P_i = T(x, i, X)/T(X[i], i, X) * Y[i]
     return P_i
    
    # 计算预测值
    def L(x, X, Y):
     result = 0
     for i in range(n):
      result = result + P(i, x, X, Y)
     return result
    
    y = L(x, X, Y) 
      
    print("预测结果:" + str(y) + '\n')
    print("误差:" + str(fun(x) - y))
    
    # 画图
    X_n = np.linspace(0, 1, 50)
    Y_n = fun(X_n)
    
    x_n = np.linspace(0, 1, 50)
    y_n = L(x_n, X, Y)
    
    l1, = plt.plot(X_n, Y_n, label='theory')
    l2, = plt.plot(x_n, y_n, label='prediction',linestyle='--')
    plt.legend(handles=[l1,l2,],labels=['theory','prediction'], loc='best')
    
    plt.show()

    代码测试结果(输入方式如图所示):

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • python实现各种插值法(数值分析)
    • python用插值法绘制平滑曲线
    • Python对数据进行插值和下采样的方法
    • Python实现的拉格朗日插值法示例
    • python中的插值 scipy-interp的实现代码
    • python实现三次样条插值
    • python利用插值法对折线进行平滑曲线处理
    • python使用插值法画出平滑曲线
    • Python实现线性插值和三次样条插值的示例代码
    上一篇:python实现批量提取指定文件夹下同类型文件
    下一篇:python实现多图像叠置输出
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python实现拉格朗日插值及作图 python,实现,拉格朗,日,插值,