python - Python - 从转折点坐标生成多项式
问题描述
使用多项式转折点的坐标列表,我试图找到多项式的系数列表。上图以图形方式显示了我正在尝试解决的问题。
我试图用它numpy.polyfit
来生成一个多项式,但是给出的多项式在任何地方都经过这些点,而不是专门在转折点。
是否存在可以做到这一点的功能?
如果没有这样的函数,我正在考虑的方法是积分(x-turningX[0])(x-turningX[1])(x-turningX[n])
以找到多项式,但我不确定如何在 python 中解决这个问题。
解决方案
scipy.interpolate.CubicHermiteSpline
您可以通过为参数提供一个零数组来创建这样的曲线dydx
。例如,这段代码
In [60]: import numpy as np
In [61]: from scipy.interpolate import CubicHermiteSpline
In [62]: x = np.array([1, 2.5, 4.5, 6, 7]) # x coordinates of turning points
In [63]: y = np.array([1, 3, 2, 3.5, 2.5]) # y coordinates of turning points
In [64]: p = CubicHermiteSpline(x=x, y=y, dydx=np.zeros_like(y)) # interpolator
In [65]: plot(x, y, 'o')
Out[65]: [<matplotlib.lines.Line2D at 0xa2f1aef90>]
In [66]: xx = np.linspace(0.9, 7.1, 1000)
In [67]: plot(xx, p(xx))
Out[67]: [<matplotlib.lines.Line2D at 0xa287fb9d0>]
推荐阅读
- python - 如何在我的字典中搜索关键词和短语以执行功能
- mysql - 可以在 MySQL 中不使用分隔符创建过程吗?
- sql-server - 如何在 SSRS 上为运行三个数据集的报告创建具有动态参数开始和结束日期的订阅
- python - 如何将数据帧的行与二维数组列表进行比较 - Python
- javascript - 带标签的网格小部件内容
- c - 为具有双指针的结构内的动态结构数组分配内存**
- java - 如何根据 Map 字段的条件使用流过滤一组对象?
- r - Case_when 和或 if_else dplyr - 当 NA 使用来自另一列的值时
- javascript - 如何缩放条形图的条形,使其显示带有数据的完整图表
- c# - 程序“[12604] iisexpress.exe”已退出,代码为 0 (0x0)