how to make ismember return a logical array

Hi there
commonxvalues=ismember(xpoint,points);
commonyvalues=ismember(ypoint,points);
if ismember(commonxvalues,1)==0
points(counter,1)= xpoint;
end
if ismember(commonyvalues,1)==0
points(counter,2)= ypoint;
end
how do I make it so that common values returns a logical array. Otherwise, is there another function on matlab that will return a logical value if two elements in an array are the same, or a function that will return a logical value if ismember returns any positive output, because currently ismember returns a logical output in a 2d array. Cheers

댓글 수: 1

Your question is not clear. ismember always return a logical array (as its first output), never anything else.
It would be better if you explained clearly what you're trying to achieve. That very odd construct
if ismember(commonxvalues, 1) == 0
could be written more clearly as
if ~commonxvalues
However, note that if commonxvalues is a vector or matrix, then it would be better off written as
if ~any(commonxvalues)
instead of using the often misunderstood behaviour of if when passed an array.

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

답변 (0개)

카테고리

도움말 센터File Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

질문:

2018년 9월 6일

댓글:

2018년 9월 6일

Community Treasure Hunt

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

Start Hunting!

Translated by