[問題] 有關diff的問題已回收

看板MATLAB作者 (我愛阿蓉)時間16年前 (2009/09/10 23:28), 編輯推噓1(108)
留言9則, 2人參與, 最新討論串1/1
大家好 我目前在trace cdfplot這個函式的code 遇到一個問題就是 x=[3.14159,3.1415900000000001,3.141592,pi] 然後我diff(x) 發現 ans = 1.0e-005 * 0 0.2000 0.0654 為啥第一個是0 我在想 雖然x(1)和x(2)相差 0.000000000000001 還是有差阿為啥他判定是0呢@@?? 不太了解為什麼 如果這兩個差距不要這麼小就不會判定是0 我不太清楚~ 請教各位 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.207.187

09/10 23:41, , 1F
仔細看你的 x(1) x(2); 兩者在一開始就一樣了
09/10 23:41, 1F

09/10 23:44, , 2F
FORMAT LONG: Scaled fixed point format with 15 digits
09/10 23:44, 2F

09/10 23:44, , 3F
for double and 7 digits for single. 超出 15 了
09/10 23:44, 3F

09/10 23:49, , 4F
或是 10^15 誤差太小了
09/10 23:49, 4F

09/10 23:51, , 5F
10^-15 = =
09/10 23:51, 5F

09/11 01:05, , 6F
請問這個format是display的時候的嘛 那實際上他也是會縮成
09/11 01:05, 6F

09/11 01:05, , 7F
小數點15位數嘛??
09/11 01:05, 7F

09/11 01:05, , 8F
再拿來運算的時候@@
09/11 01:05, 8F

09/11 01:07, , 9F
而且我刻意去打入x(1)-x(2)出來的不是0耶@@ 不太清楚怎麼回事
09/11 01:07, 9F
文章代碼(AID): #1AgHihjU (MATLAB)
文章代碼(AID): #1AgHihjU (MATLAB)