[問題] for的判斷式 無理數

看板MATLAB作者 (fish)時間11年前 (2014/08/06 15:00), 11年前編輯推噓0(005)
留言5則, 2人參與, 最新討論串1/1
抱歉標題不知道怎麼取比較好 我想請問如果我讓A矩陣乘以三角函數後 ex: cos(pi/4) -sin(pi/4) * 1 sin(pi/4) cos(pi/4) 2 ↑ A矩陣 把很多的A矩陣轉置 然後合成一個100*2的DATA矩陣 我的for回圈內的其中一條判斷式寫 for i=1:100 if .... ... elseif DATA(i+1,1) == -sin(pi/4)*V(i) ... end end 可是他跑出來沒有elseif成立的時候 但我去看DATA(53,1)是等於-sin(pi/4)*V(i)的值 所以我想問的是 是不是有精確值還是甚麼的關係 使我先乘了一個無理數後 判斷式會有問題? 先謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.64.109 ※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1407308415.A.BE7.html ※ 編輯: kid50927 (220.137.64.109), 08/06/2014 15:01:55 ※ 編輯: kid50927 (220.137.64.109), 08/06/2014 15:09:00

08/06 15:38, , 1F
自問自答 是精確度的關西
08/06 15:38, 1F

08/06 15:39, , 2F
改成elseif round(DATA(i+1,1))==round(-sin(pi/4)*V(i))
08/06 15:39, 2F

08/08 11:05, , 3F
要判斷兩數是否相等用abs(a-b)<=tol tol是容許誤差
08/08 11:05, 3F

08/08 11:05, , 4F
你用兩邊round範圍太大了
08/08 11:05, 4F

08/08 15:36, , 5F
哦哦 感謝
08/08 15:36, 5F
文章代碼(AID): #1JuT9_ld (MATLAB)
文章代碼(AID): #1JuT9_ld (MATLAB)