作者weien0126 (rffvb)
看板MATLAB
標題[運算] matlab 運算問題
時間Sun Mar 5 23:21:40 2017
各位大大你們好
小的最近遇到一個問題
最近在畫一些圖
這些圖都是用公式畫出來的
主要在改兩個變數 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://webptt.com/m.aspx?n=bbs/MATLAB/M.1488727303.A.E89.html
1F:→ worcdlo: 電腦的位元是有限的 因此在0附近的一些運算要特別小心 03/05 23:42
2F:推 sunev: ?? 03/05 23:52
3F:→ worcdlo: 舉例來說1/100=0.01 也就是1往右退兩格 電腦計算也是 03/06 00:10
4F:→ worcdlo: 他在除法時 數字會不斷往右退 可是有位元限制 最右邊會 03/06 00:11
5F:→ worcdlo: 因為位元限制消失 假設消失的值是0.0001好了 03/06 00:12
6F:→ worcdlo: 看起來蠻小的 但是電腦其實是先計算數字再乘上指數(應該 03/06 00:12
7F:→ worcdlo: 如果指數是10^10 那消失0.0001的誤差就變成了 03/06 00:13
8F:→ worcdlo: 10^10*0.0001=10^6 是很可觀的 減法和除法會有類似問題 03/06 00:13