来客网

谈谈数值估计

声明:本文转载自 「jiyang1971博客」, 或因排版与篇幅原因进行过编辑,内容未经本站独立核实,不代表本站立场、观点或建议。 如涉及版权问题,请联系我们,核实后立即删除。 [ 免责声明 ]

读了张江敏老师讨论函数回归的文章《最长的时间》,觉得很有意思,就做了些思考和检验。

问题是:令f(t)=cost+cos2–√t+cos3–√t+cos5–√t,求t使得4−f(t)<>

他给出的答案是:t1=10458943416×2π≈2π×1.046×1010,则4−f(t1)<><>

4−f(t1)≈4×10−74−f(t2)≈4×10−17为什么我要费劲算这个东西呢?因为我对t的数量级做了一个估计,发现它符合t1,但是与t2相差了六七个数量级。我是这么估计的:1、t取2π的整数倍,这没有什么好说的。

2、为了cos2–√t达到10−n的精度,需要2–√t mod(2π)=x∼10−n/2(泰勒公式展开到x2项),因为2–√没有什么明显的规律,就可以这样假设,如果t是整点,那么2–√t处于整点附近的几率为x/π。

3、同理,3–√t和5–√t处于整点附近的几率也是为x/π。

4、这三个应该是彼此独立、没有关联的。

5、这样就可以推算出t∼1/(x/π)3∼30×103n/2。

6、为了达到10−6的精度,t≈3×1010,与t1相仿;为了达到10−20的精度,t≈3×1031,比t2=1.797×1025大了6个数量级。

7、对于t=1.797×1025,应该能够达到的精度大约是10−16,符合计算器给出的结果。

8、我不知道产生差异的原因。也许是这个估计有问题;也许是笔误;也许是windows的科学计算器有问题;也许是mathematica或maple的算法有问题。我不知道原因。

评论 (0)