看板 MATLAB 關於我們 聯絡資訊
※ 引述《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