[運算] matlab 運算問題

作者: weien0126 (rffvb)   2017-03-05 23:21:40
各位大大你們好
小的最近遇到一個問題
最近在畫一些圖
這些圖都是用公式畫出來的
主要在改兩個變數 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
請問有大大遇過類似問題嗎?
會是運算出了什麼問題導致的嗎?
作者: worcdlo (worcdlo)   2017-03-05 23:42:00
電腦的位元是有限的 因此在0附近的一些運算要特別小心
作者: sunev (Veritas)   2017-03-05 23:52:00
??
作者: worcdlo (worcdlo)   2017-03-06 00:10:00
舉例來說1/100=0.01 也就是1往右退兩格 電腦計算也是他在除法時 數字會不斷往右退 可是有位元限制 最右邊會因為位元限制消失 假設消失的值是0.0001好了看起來蠻小的 但是電腦其實是先計算數字再乘上指數(應該如果指數是10^10 那消失0.0001的誤差就變成了10^10*0.0001=10^6 是很可觀的 減法和除法會有類似問題

Links booklink

Contact Us: admin [ a t ] ucptt.com