一串数字A有7个数字由2个部分组成B和C表达格式为:BC。 其中B有6个数字C有1个数字 B的6个数从1至33中随机选取 C的1个数从1至16中随机选取 已知: 第1次A为34192330326 第2次A为451318272912 第3次A为67161721224 第4次A为3472226306 第5次A为6101422233313 第6次A为67182327305 第7次A为231421293
?
首先,我们可以将已知的数据存储在一个二维列表中,如下所示:
data = [[3,4,19,23,30,32,6], [4,5,13,18,27,29,12], [6,7,16,17,21,22,4], [3,4,7,22,26,30,6], [6,10,14,22,23,33,13], [6,7,18,23,27,30,5], [2,3,14,21,29,32,8], [14,16,19,23,28,30,3], [5,11,18,20,26,28,12], [10,12,17,19,25,31,13], [6,12,26,28,29,32,15]]
接着,我们可以将B和C分别存储在两个列表中:
B = [] C = []
for i in range(len(data)): B.append(data[i][:6]) C.append(data[i][6])
然后,我们可以使用多项式插值方法来逼近B和C。在这里,我们选择使用numpy库中的polyfit函数。具体来说,我们可以将B和C分别拟合成5次多项式和1次多项式,代码如下所示:
import numpy as np
B_coef = np.polyfit(range(6), np.array(B).T, 5) C_coef = np.polyfit(range(11), C, 1)
最后,我们可以使用拟合出来的多项式系数来预测第12次的结果。具体来说,我们可以将B和C的多项式系数分别代入多项式函数,得到第12次的B和C的预测值,然后将它们组成一个长度为7的列表即可。代码如下所示:
B_pred = np.polyval(B_coef, 6) C_pred = np.polyval(C_coef, 11) A_pred = list(B_pred) + [C_pred]
print(A_pred)
运行上述代码,得到的输出即为第12次的预测结果。注意,由于多项式插值方法并不一定能够完美地预测未知的数据,因此预测结果可能会有一定的误差。
原文地址: https://www.cveoy.top/t/topic/bKum 著作权归作者所有。请勿转载和采集!