[問題] 變數換成數字,運算時間

看板Mathematica作者 (我愛U-15!!!)時間9年前 (2015/01/12 01:05), 編輯推噓1(105)
留言6則, 2人參與, 最新討論串1/1
各位板友好 想請問如何縮短計算時間,我這情況是這樣的,我全部要做的運算都只有加減乘除,不過 因為要套好幾層Table導致運算量很大,後來發現一件事,其中一個變數是經由運算而得 ,比方說a=b/c, b=2345, c=123, 然後Table裡要用到a,後來發現不用a而直接用數字代 進去算計算時間會短很多,所以想說有沒有辦法每次算完就把結果都變成數字,試過用 函數N不過沒有用,請問有沒有辦法處理這個問題,希望可以決定換成數字取的位數 另外想順便問一下N這個函數的問題 範例中的 N[Gamma[3.3], 50]和N[Gamma[33/10], 50]結果為甚麼不同 謝謝大家^^ --

03/17 18:29,
我:我的主機板會喵喵叫耶。
03/17 18:29

03/17 18:29,
客服:喵喵叫?
03/17 18:29

03/17 18:29,
我:很長很長的喵阿,你學一次。
03/17 18:29

03/17 18:30,
客服:喵~~
03/17 18:30

03/17 18:30,
我:喔喔喔 太爽了,好萌阿。
03/17 18:30
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.114.234.133 ※ 文章網址: https://www.ptt.cc/bbs/Mathematica/M.1420995915.A.D44.html

01/12 08:59, , 1F
With[{a=2345/123}, (* 含有 a 的運算式 *) ]
01/12 08:59, 1F

01/12 09:00, , 2F
後一個問題, 因為 3.3 本身就只有 MachinePrecision 位精確
01/12 09:00, 2F

01/12 09:01, , 3F
所以就算你硬取 50 位也算不出來
01/12 09:01, 3F

01/12 09:02, , 4F
你可以改成 N[Gamma[3.3`50],50] 讓參數本身就有 50 位精確
01/12 09:02, 4F

01/12 09:03, , 5F
MachinePrecision 其值約為 15.9546, 是電腦浮點數的精確度
01/12 09:03, 5F

01/12 19:08, , 6F
原來如此,我試試看 謝謝你
01/12 19:08, 6F
文章代碼(AID): #1KigrBr4 (Mathematica)
文章代碼(AID): #1KigrBr4 (Mathematica)