[问题] N的指令打在Do循环内无产生效果

楼主: ntust661 (TOEFL_5!)   2013-03-18 00:02:08
我有一个程式
x=1;
Do[
x = 1/3 * x ;
y = N[x,20] ;
Print[y];
,{i,1,20}];
结果还是产生程式内部默认的6有效位数
请问这要怎么排除困难@@?
作者: LPH66 (-6.2598534e+18f)   2013-03-18 00:56:00
你确定你的程式真的如此吗? x 的初始值是从哪里来的?我照你这几行自己打上去跑一遍是正常的
楼主: ntust661 (TOEFL_5!)   2013-03-18 01:19:00
http://ppt.cc/3zFd请LPH大大解惑QQ
作者: LPH66 (-6.2598534e+18f)   2013-03-18 01:31:00
问题在那一个 0.33333 那个数的精确度是 MachinePrecision所以计算结果就会被影响 依然是 MachinePrecision所以显示时就是默认的样子了解法有两个 一是照内文一样打 1/3 另一是直接指定精确度改成 0.33333`20 就是 20 位精确了 (那个 ` 是 1 左边的键)
楼主: ntust661 (TOEFL_5!)   2013-03-18 01:36:00
谢谢 我马上试试看

Links booklink

Contact Us: admin [ a t ] ucptt.com