多语言展示
当前在线:1122今日阅读:162今日分享:23

素数公式可不可以通过拟合的方法得到

Mathematica强大的计算能力,可以很容易地实现数据的拟合,不过,素数公式能不能通过数据拟合的方法得出来?可是,通过几组实验,没找到靠谱的素数公式。
工具/原料
1

电脑

2

Mathematica

方法/步骤
1

首先 ,给出一维素数列表:list=Table[Prime[n],{n,20}]再给出二维素数列表:list0=Table[{n,Prime[n]},{n,20}]

2

用 InterpolatingPolynomial 把前20个素数拟合为关于x的多项式,并作出这个多项式的图像。用这个多项式来检测前30个素数,发现结果很不靠谱!看来,拟合多项式是不可能得到素数公式的!

3

用 Interpolation 来对前20个素数进行插值拟合,得到函数f[x],并画出这个函数图像,把素数的散点图也画出来。代入具体的数值,发现数值已经脱离常态,变成负数了。

4

用ListFit拟合前20个素数,并把拟合方向指定为对数函数和正比例函数的线性组合,检测一下,误差不少。

注意事项
1

由此可知,用拟合的方法求出素数公式,是不大可能的!

2

奇怪的是,Mathematica里面的素数公式Prime[]是怎么来的呢?

推荐信息