[運算] matlab 運算問題

看板MATLAB作者 (rffvb)時間7年前 (2017/03/05 23:21), 編輯推噓1(107)
留言8則, 2人參與, 最新討論串1/1
各位大大你們好 小的最近遇到一個問題 最近在畫一些圖 這些圖都是用公式畫出來的 主要在改兩個變數 p 和 q 會畫出六個小圖 當pq是小的時候(ex:p=3 q=5) 圖是漂亮的 http://i.imgur.com/LVROOYr.jpg
但當pq值越來越大的時候 (p=6 q=36) 有些圖就會上下擺動很大 照理來說不該太大而且不會有負的 http://i.imgur.com/r3A82lI.jpg
請問有大大遇過類似問題嗎? 會是運算出了什麼問題導致的嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.136.2.110 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1488727303.A.E89.html

03/05 23:42, , 1F
電腦的位元是有限的 因此在0附近的一些運算要特別小心
03/05 23:42, 1F

03/05 23:52, , 2F
??
03/05 23:52, 2F

03/06 00:10, , 3F
舉例來說1/100=0.01 也就是1往右退兩格 電腦計算也是
03/06 00:10, 3F

03/06 00:11, , 4F
他在除法時 數字會不斷往右退 可是有位元限制 最右邊會
03/06 00:11, 4F

03/06 00:12, , 5F
因為位元限制消失 假設消失的值是0.0001好了
03/06 00:12, 5F

03/06 00:12, , 6F
看起來蠻小的 但是電腦其實是先計算數字再乘上指數(應該
03/06 00:12, 6F

03/06 00:13, , 7F
如果指數是10^10 那消失0.0001的誤差就變成了
03/06 00:13, 7F

03/06 00:13, , 8F
10^10*0.0001=10^6 是很可觀的 減法和除法會有類似問題
03/06 00:13, 8F
文章代碼(AID): #1Ol2q7w9 (MATLAB)
文章代碼(AID): #1Ol2q7w9 (MATLAB)