葡萄糖 发表于 2014-6-6 11:41:17

能比出大小么

http://kuing.orzweb.net/viewthread.php?tid=335&extra=page%3D23
比较 \(a,b\) 大小,其中 \(a=\left(\dfrac12\right)^{0.2},b=\log_54\)。
能不借助计数器解决吗?利用Taylor公式求近似值也很难比出来

liangbch 发表于 2014-6-6 13:19:05

只要知道log10(2)=0.30103就可以估算大小了。

mathe 发表于 2014-6-6 17:59:31

用Taylor本质上就是数值计算。
知道结果后凑数据还是很简单的,首先可以算出$2^65<5^28$
得出$log_5(2)<28/65,log_5(4)<56/65$
$a^5=1/2>550731776/1160290625=(56/65)^5>b^5$

kastin 发表于 2014-6-6 19:15:20

方法一:
显然`\D a=2^{-\frac{1}{5}}<2^0=1`
又因为`4^8<5^7`,两边同时以5为底取对数,有`\,\D b<\frac{7}{8}`,进一步紧密缩放,`4^{22}<5^{19}`得到
$$\,\D b<\frac{19}{22}$$
根据
\[\begin{align}\log_ba &= \log_b2^{-\frac{1}{5}}=\log_b4^{-\frac{1}{10}}\\
&=-\frac{1}{10}\frac{\log_54}{\log_5b}\\
&=-\frac{1}{10}\frac{b}{\log_5b}\notag\end{align}\]
(其中步骤(1)到(2)使用了换底公式)

因为`\D f(x)=\frac{x}{\log_5x}`在(0,1]上是单调递减的(因为在该区间上其导函数恒小于零),并且前面估计出`b<\D\frac{19}{22}`,因此
$$\eqalign{\log_ba&=-\frac{1}{10}\frac{b}{\log_5b}\\
&<-\frac{1}{10}\frac{19/22}{\log_5\frac{19}{22}}}$$
至此已经非常艰难了,事实上上述结果是小于1的(不过这里无法直接看出,需要不停的缩放),注意到a<1,故`\log_ba<1`,即`a>b`。

附注:
根据换底公式可得到下限`b=\D \frac{\log_24}{\log_25}=\frac{2}{\log_25}`

因为`2^7>5^3`,所以`\log_25<\frac{7}{3}`,因而`\D b>\frac{2}{7/3}=\frac{6}{7}`

这样,我们通过手工方式得到了`\,b\,`的范围`\D \frac{6}{7}\lt b\lt \frac{7}{8}\left(\text{或者}\frac{19}{22}\right)`

kastin 发表于 2014-6-6 19:34:02

方法二:
$$\frac{a}{b}=\frac{2^{-\frac{1}{5}}}{2\log_52}=2^{-\frac{6}{5}}\log_25$$
因为`\D 2^7>5^3`,所以`\D \log_25<\frac{7}{3}`,而`\D2^{23}<5^{10}`,故`\D \log_25>\frac{23}{10}`
于是
$$\frac{a}{b}=2^{-\frac{6}{5}}\log_25>\frac{\frac{23}{20}}{2^{\frac{1}{5}}}$$
考虑到`(\frac{23}{20})^5>2`,因此`\D\frac{a}{b}>1`,又因为a,b均大于零,故`\,a>b`

kastin 发表于 2014-6-6 21:16:54

提供两种手工计算a和b近似值到任意精度的方法,同时也是第三种方法手工比较a,b大小
$$\eqalign{a &= (\frac{1}{2})^{\frac{1}{5}}\\
                  &= \text{e}^{-\frac{1}{5} \ln 2}
}$$
只需要计算ln2的近似值即可,为了加速收敛,考虑将`\ln(1-x)`和`\ln(1+x)`相减,得到
$$\ln\frac{1-x}{1+x}=-2x-\frac{2x^3}{3}-\frac{2x^5}{5}-\frac{2x^7}{7}-\frac{2x^9}{9}+O(x^{11})$$
令`x=-\frac{1}{3}`有`\ln 2 \approx 0.6931460473908272`
计算出
$$-\frac{\ln2}{5}=-0.13862920947816545$$
根据泰勒展开
$$\text{e}^x=1+x+\frac{x^2}{2}+\frac{x^3}{6}+\frac{x^4}{24}+O(x^5)$$
于是
$$a\approx\text{e}^{-0.13862920947816545}=0.8705507605923491 \quad(误差越为2\times10^{-7})$$

对于b的计算,如果使用泰勒展开
$$b=\log_54=\log_55(1-\frac{1}{5})=1+\log_5(1-\frac{1}{5})$$
那么`\log_5(1-x)`的泰勒展开中会出现`\ln 5`这个系数,因此我们不能用这种方法。
因为`\D b=\log_54=2\log_52=\frac{2}{\log_25}`,考虑5#中使用的方法,求出
$$\frac{23}{10}< \log_25<\frac{7}{3}$$
然后求上下限平均值,作为`\log_25`的一次近似值。若想更精确,可以将一次平均值求出后,作为新的上或下限(是上限还是下限只需将分子分母作为2和5的指数进行比较即可得知),然后继续求平均值,如此多次即可。
$$ \log_25\approx\frac{23}{10}+\frac{7}{3}=\frac{139}{60}$$
于是
$$b=\frac{2}{139/60}=0.8613531161467861$$
计算用一次近似值计算`b`的误差最大值为上下限距离的一半,即`0.0167`
根据上面的误差分析可知,a,b近似值的小数点后面两位数字都是有效数字(准确值),而a和b近似值恰好是在小数点后第二位不一样,于是可以比较,得`\,a>b`。

wayne 发表于 2014-6-7 07:32:17

看了楼上提供的各种方法,感觉计算应该是避免不了的了。

这种题目,要么如2#记点特殊的函数值,要么辛苦一点多点运算量,
跟编程的道理完全一样,牺牲内存 or 牺牲CPU时间

我个人倾向于,先记住$ \text{lg}2 =0.3010$, 然后, $a^5 =1/2 , b^5= ({2 \text{lg}2}/{1- \text{lg}2})^5 \approx (602/699)^5 \approx (602/700)^5 = (86/100)^5=0.470427 < 1/2= a^5$

wayne 发表于 2014-6-8 10:46:49

找到了,中学数学用表》《数学用表》

发黄发绿的纸张,被水浸黑,还带有 毛主席语录.    是不是很怀旧,很有feel, 有木有?   (没有电脑的那个时代,原来靠的是这么原始粗野的手段啊,:lol )

我记得我小学的时候,还有一个《数学用表》查表比赛 来的,我当时还拿奖了,好像是奖一支钢笔,不过 这个记忆有点模糊,小学的这类比赛太多了.
但奇怪,小学好像还没 学对数,三角函数的吧,但我确定是小学,这个我记得很清楚,因为我记得一些细节,当时偶尔有查到这些“高级函数”的



页: [1]
查看完整版本: 能比出大小么