作者kid50927 (fish)
看板MATLAB
標題[問題] for的判斷式
時間Wed Aug 6 15:00:12 2014
抱歉標題不知道怎麼取比較好
我想請問如果我讓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