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

 更新时间:2021年04月05日 12:13:53   作者:From Star.  
这篇文章主要为大家详细介绍了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 中的 set 数据结构,是算法和数据结构的基本功,今天我们从一个实战案例出发,探讨如何利用Python集合显著优化算法性能,感兴趣的同学跟着小编一起来探讨吧
    2023-06-06
  • python使用pandas处理大数据节省内存技巧(推荐)

    python使用pandas处理大数据节省内存技巧(推荐)

    这篇文章主要介绍了python使用pandas处理大数据节省内存技巧,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • python字符串的常用操作方法小结

    python字符串的常用操作方法小结

    这篇文章主要为大家详细介绍了python字符串的常用操作方法,如字符串的替换、删除、截取、复制、连接、比较、查找、分割等,需要的朋友可以参考下
    2016-05-05
  • Python2和Python3之间的str处理方式导致乱码的讲解

    Python2和Python3之间的str处理方式导致乱码的讲解

    今天小编就为大家分享一篇关于Python2和Python3之间的str处理方式导致乱码的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 简单了解python代码优化小技巧

    简单了解python代码优化小技巧

    这篇文章主要介绍了简单了解python代码优化小技巧,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
    2019-07-07
  • python使用QQ邮箱实现自动发送邮件

    python使用QQ邮箱实现自动发送邮件

    这篇文章主要为大家详细介绍了python使用QQ邮箱实现自动发送邮件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • Python BautifulSoup 节点信息

    Python BautifulSoup 节点信息

    这篇文章主要介绍了Python BautifulSoup 节点信息,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • Python实现甘特图绘制的示例详解

    Python实现甘特图绘制的示例详解

    相信在平常实际工作当中,需要对整体的项目做一个梳理,这时如果有一个网页应用能够对整体项目有一个可视化页面的展示,是不是会对你的实际工作有所帮助呢?今天小编就通过Python+Streamlit框架来绘制甘特图并制作可视化大屏,需要的可以参考一下
    2023-04-04
  • Python实现12306火车票抢票系统

    Python实现12306火车票抢票系统

    这篇文章主要介绍了Python实现12306火车票抢票系统,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-07-07
  • jupyter notebook引用from pyecharts.charts import Bar运行报错

    jupyter notebook引用from pyecharts.charts import Bar运行报错

    这篇文章主要介绍了jupyter notebook引用from pyecharts.charts import Bar运行报错,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04

最新评论