读了张江敏老师讨论函数回归的文章《最长的时间》,觉得很有意思,就做了些思考和检验。
问题是:令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)