看板 MATLAB 關於我們 聯絡資訊
抱歉標題不知道怎麼取比較好 我想請問如果我讓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
kid50927:自問自答 是精確度的關西 08/06 15:38
kid50927:改成elseif round(DATA(i+1,1))==round(-sin(pi/4)*V(i)) 08/06 15:39
ejialan:要判斷兩數是否相等用abs(a-b)<=tol tol是容許誤差 08/08 11:05
ejialan:你用兩邊round範圍太大了 08/08 11:05
kid50927:哦哦 感謝 08/08 15:36