[問題] 用quad做奇函數的數值積分已回收

看板MATLAB作者 (我就是我)時間15年前 (2010/10/27 23:27), 編輯推噓3(305)
留言8則, 5人參與, 最新討論串1/1
我是MATLAB超新手XD 今天在做作業要用到quad做數值積分 照理說sin(x)從-pi/2積分到pi/2應該是零才對 用手算的話不管是用simpson's first rule還是simpson's second rule 結果都是零 為什麼用quad算出來卻不是零??? >> q=quad('sin(x)',-pi/2,pi/2) q = -1.1102e-016 請問有人知道問題在哪嗎? 感恩~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.240.239.42

10/27 23:33, , 1F
numerical error
10/27 23:33, 1F

10/27 23:37, , 2F
我看help說明可以自己設定error tolerance(tol)
10/27 23:37, 2F

10/27 23:38, , 3F
也說tol越大算出來的誤差也越大
10/27 23:38, 3F

10/27 23:38, , 4F
可是我設定成1e-10有誤差 1e-1卻得到正解0
10/27 23:38, 4F

10/27 23:38, , 5F
1e-10不是比較小嗎? 還是我觀念有錯呢? 感謝指教
10/27 23:38, 5F

10/27 23:40, , 6F
雙經度浮點運算誤差好像差不多這個位數 eps?
10/27 23:40, 6F

10/28 00:25, , 7F
你覺得這個值跟0有什麼不同....
10/28 00:25, 7F

10/28 13:54, , 8F
去執行 sin(pi) 這個指令 就很明白了
10/28 13:54, 8F
文章代碼(AID): #1Co4J-zb (MATLAB)