我认为你对事情有点误解。这就是numpy
目的(如果您正在使用matplotlib
它,则在绘图时已经将事物转换为 numpy 数组,无论如何。)
只需将您的“600 个值列表”转换为 numpy 数组,然后计算多项式。
举个例子:
import numpy as np
import matplotlib.pyplot as plt
# Your "list of 600 values"...
x = np.linspace(0, 10, 600)
# Evaluate a polynomial at each location in `x`
y = -1.3 * x**3 + 10 * x**2 - 3 * x + 10
plt.plot(x, y)
plt.show()
编辑:
根据您的编辑,听起来您在问如何使用numpy.polyder
?
基本上,您只想numpy.polyval
用来评估polyder
在您的点位置返回的多项式。
以上面的示例为基础:
import numpy as np
import matplotlib.pyplot as plt
# Your "list of 600 values"...
x = np.linspace(0, 10, 600)
coeffs = [-1.3, 10, 3, 10]
# Evaluate a polynomial at each location in `x`
y = np.polyval(coeffs, x)
# Calculate the derivative
der_coeffs = np.polyder(coeffs)
# Evaluate the derivative on the same points...
y_prime = np.polyval(der_coeffs, x)
# Plot the two...
fig, (ax1, ax2) = plt.subplots(nrows=2)
ax1.plot(x, y)
ax1.set_title('Original Function')
ax2.plot(x, y_prime)
ax2.set_title('Deriviative')
plt.show()