作者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://webptt.com/cn.aspx?n=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
1F:→ kid50927:自问自答 是精确度的关西 08/06 15:38
2F:→ kid50927:改成elseif round(DATA(i+1,1))==round(-sin(pi/4)*V(i)) 08/06 15:39
3F:→ ejialan:要判断两数是否相等用abs(a-b)<=tol tol是容许误差 08/08 11:05
4F:→ ejialan:你用两边round范围太大了 08/08 11:05
5F:→ kid50927:哦哦 感谢 08/08 15:36