
Re: finding index of any element in a matrix
Posted:
Jun 24, 2013 6:33 AM


On 6/24/2013 5:13 AM, asif khan wrote:
> > eg,R = rand(3,3) > > R = > > 0.4820 0.2262 0.2518 > 0.1206 0.3846 0.2904 > 0.5895 0.5830 0.6171 > > I = find(R==0.6171) > > I = > > Empty matrix: 0by1 > that is the problem... is there any precision problem??? >
Yes. You should never really use .EQ. with floating points.
In addition, what you see on the screen is not the full number any way.
EDU>> format short EDU>> R=rand(2) 0.8491 0.6787 0.9340 0.7577
EDU>> find(R==0.7577) Empty matrix: 0by1
Error using format EDU>> R 0.849129305868777 0.678735154857773 0.933993247757551 0.757740130578333
To do an .EQ. on floating point (or any comparison, < or > etc..) you should use the abs/epsilon method. This is discussed in many places.
Nasser

