作者profyang (prof)
看板MATLAB
標題Re: [運算] 等比級數運算問題
時間Wed May 1 00:36:38 2013
※ 引述《dream9119 (Dream)》之銘言:
: 不好意思,麻煩各位大大幫幫我...
: 剛開始學....
: 不知道我哪邊寫錯了....K值要大...但每次pi都爆掉....
: 拜託各位幫忙了,謝謝..
: 題目http://ppt.cc/n0Oh
: err=5e-12;
: x=0;
: s=pi^4/90;
: for k=0:10000000
: x = x+1/k^4;
: if abs(x-s) <=err;
: break;
: end;
: end;
: k
我指的是這樣:
err=1;
x=0; k=0;
s=pi^4/90;
while err>5e-12
k = k+1;
x = x+1/k^4;
err = abs(x-s);
end;
k
時間理論上跟你用for一樣阿 哪可能不一樣 我測了一下跑到k=4054才0.007秒而已
但是while有個好處阿~如果今天你err定很小k要到10000001才夠你怎辦?
把10000000改成100000000??不是吧?不用這麼麻煩吧?用while不就一次解決?
...除非你怕自己像一開始那樣寫錯造成無窮迴圈= ="
那直接跳出改到對就好了啊~
--
正妹也只不過是一組物質波方程的特解罷了(  ̄ c ̄)y▂ξ
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.247.141
※ 編輯: profyang 來自: 140.112.247.141 (05/01 00:39)
→ profyang:我想講的只是 這個程式的重點是在於 你根本不知道k會要到 05/01 00:41
→ profyang:多少才夠~當然嘛~不然還要你寫這程式幹嘛~ 05/01 00:41
→ profyang:所以你一開始沒跑程式前怎麼知道k一定不會超過10000000? 05/01 00:41
推 dream9119:好的,我知道了.謝謝P大您耐心的指導原來剛開始我一直想 05/01 01:29
→ dream9119:一直想K要很大很大....真是謝謝您 05/01 01:30
→ profyang:不過這級數收斂性很好 你看它1/k^4就知道...所以你果然是 05/01 08:59
→ profyang:因為一直無窮迴圈才改成for 那是我多嘴了XD 05/01 08:59