我目前被困在一個問題上,我需要生成一條最佳擬合曲線,我需要以 10 為步長使用從 250 到 100 的更精確的 x 數(shù)組。到目前為止,這是我的代碼。import numpy as npfrom numpy import polyfit, polyvalimport matplotlib.pyplot as pltx = [250,300,350,400,450,500,550,600,700,750,800,900,1000]x = np.array(x)y = [0.791, 0.846, 0.895, 0.939, 0.978, 1.014, 1.046, 1.075, 1.102, 1.148, 1.169, 1.204, 1.234]y= np.array(y)r = polyfit(x,y,3)fit = polyval(r, x)plt.plot(x, fit, 'b')plt.plot(x,y, color = 'r', marker = 'x')plt.show()
3 回答

胡子哥哥
TA貢獻1825條經驗 獲得超6個贊
如果我理解正確,您正在嘗試通過 c 的步驟創(chuàng)建從 a 到 b 的數(shù)字數(shù)組。
使用純 python,您可以使用:
list(range(a, b, c)) #in your case list(range(250, 1000, 10))
或者,由于您使用的是 numpy,因此可以直接創(chuàng)建 numpy 數(shù)組:
np.arange(a, b, c)

瀟瀟雨雨
TA貢獻1833條經驗 獲得超4個贊
要生成 250-1000 之間的值,請使用 range(start, stop, step):
x = range(250,1001,10)
x = np.array(x)

九州編程
TA貢獻1785條經驗 獲得超4個贊
要分步創(chuàng)建數(shù)組,您可以使用numpy.arange([start,] stop[, step]):
import numpy as np
x = np.arange(250,1000,10)
添加回答
舉報
0/150
提交
取消