Find a certain cell in a cell array?

조회 수: 2 (최근 30일)
Pooya Ferdosipour
Pooya Ferdosipour 2015년 8월 23일
편집: Pooya Ferdosipour 2015년 8월 24일
Hello all,
Suppose we have a a cell array 3x3 there is one matrices in each cell. we already know that if A=[1 0 3 49 5 6 7] then A(4)=49 and also we can easily find the location of 49 in matrices by using find(A==49). But it does not work for cell array! for example if I assume a cell array : I= {[1,2] [2,3] [4,5] ; [6,6] [0.8,8] [2,3] ; [1.1,4] [1,1] [2,2] }
I can not say find I ==[0.8,8] and the answer gives me "5" (the 5th cell). How can I find the locations for a certain value of cell like [0.8,8]?
All the best,

채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2015년 8월 23일
I={ [1,2] [2,3] [4,5] ;
[6,6] [0.8,8] [2,3] ;
[1.1,4] [1,1] [2,2] }
[ii,jj]=find(cellfun(@(x) isequal(x,[0.8,8]),I))
  댓글 수: 1
Pooya Ferdosipour
Pooya Ferdosipour 2015년 8월 24일
편집: Pooya Ferdosipour 2015년 8월 24일
thanks alot :) (LIKE)

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Walter Roberson
Walter Roberson 2015년 8월 23일
find(cellfun(@(C) isequal(C, [0.8,8]), I)
However, floating point numbers are seldom equal even when they look like they are. 0.8 cannot be represented exactly in binary floating point (just like 1/3 cannot be represented exactly as a finite decimal), and the exact value stored is going to depend on the exact way that the value was calculated.
  댓글 수: 1
Pooya Ferdosipour
Pooya Ferdosipour 2015년 8월 24일
편집: Pooya Ferdosipour 2015년 8월 24일
thanks alot :) I get what I wanted.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by