看板 Mathematica 關於我們 聯絡資訊
版上的大神們好, 小弟最近利用MMA跑聯立微分方程式, 但會遇到數值精確度跑掉的問題(如圖所示) https://i.imgur.com/lsCGEyi.jpg
麻煩大神們撥冗幫助小弟,謝謝。 ----- Sent from JPTT on my iPhone -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.19.47 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Mathematica/M.1564925058.A.2AA.html
LPH66: 數值方法會跑到這麼大的數出現可能有些發散性問題在 08/05 09:30
LPH66: 這比較不是精確度問題: 注意到錯誤訊息中的那些數 08/05 09:30
LPH66: 是 10 的 307 次方這種超大數 08/05 09:31
LPH66: 之所以問題不在倒數結果的原因是, 看起來倒數是方程一部份 08/05 09:32
LPH66: (MMA 裡除法跟倒數是同樣的東西) 那這就代表這個超大數 08/05 09:33
LPH66: 確實是數值計算過程中的中間值, 那就要考慮為何會有這種值 08/05 09:33
domolcy: 您好,這個值確實是我要的,但希望MMA可以繼續算下去,請 08/05 10:33
domolcy: 問有什麼辦法嗎? 08/05 10:33
AmibaGelos: 調working precision開big# 記得常數也要是big# 如有 08/05 11:05
AmibaGelos: 理數 或改用exp寫該# 除法改減法 稍不精確但至少能跑 08/05 11:05
LPH66: 我有點好奇是什麼樣的數值微分方程會需要(可能暫時性地) 08/13 06:08
LPH66: 出現這種數量級的數... 08/13 06:08
LPH66: 就我對一些數學/物理/etc 方面的理解來看, 10^307 這數量級 08/13 06:10
LPH66: 大到不太可能會有一些應用上的意義 08/13 06:10
LPH66: 而數值模擬微分方程是一個很應用方向的東西 08/13 06:11
LPH66: 因此就算是中間值都會有某種程度上的應用意義在 08/13 06:12
LPH66: 這兩件事情是有點矛盾的, 所以才會認為問題是方程有發散性 08/13 06:13
LPH66: 而若發散性是可能狀況之一的話, 發散到多大就不重要了 08/13 06:14
domolcy: 抱歉,忘了回。我處理的系統是需要算高階的correlation f 08/16 00:47
domolcy: unction, 所以當correlation function 在很高階的時候, 08/16 00:47
domolcy: 就會有這種數量級,或許我可能改用其他的方法來算我感興 08/16 00:48
domolcy: 趣的物理量。 如果不大懂我在說什麼,可以站內信,我們可 08/16 00:48
domolcy: 以一起討論。 08/16 00:48
AmibaGelos: 1T site 10階delta也就~10^120 除非在算amr而且系統 08/16 10:15
AmibaGelos: 類似NS不平滑 個人覺得10^307都可以當作delta處理 08/16 10:15
pig030: 有沒有可能先行處理一處方程式讓他們更簡化再來跑模擬 09/07 01:53