Image analysis program: 'find' not working
정보
이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.
이전 댓글 표시
testnumber=2;
vectortofindtestnumber=[ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 19 20
];
checkiftestelementhasduplicatesinthevector=find(testnumber==vectortofindtestnumber);
if(length(checkiftestelementhasduplicatesinthevector)>1)
disp('Found a duplicate'); % Do some steps
end
for '2' my code in my image analysis program is going into if condition and is getting processed.
I feel definitely this is a run-time bug, but any similar experiences any of you can share would be helpful.
Any help would be appreciated.
Thanks in advance
댓글 수: 0
답변 (2개)
Walter Roberson
2013년 8월 27일
0 개 추천
You do not show any "else" after the length check, and your "Do some steps" does not show any action to avoid doing the code that is after the "if". Remember, if you have an "if" then that does not mean skip all the rest of the program if the condition is false: it means that if the condition is false, skip only what is in the "if" block.
댓글 수: 5
SreeHarish Muppirisetty
2013년 8월 27일
편집: Image Analyst
2013년 8월 27일
Walter Roberson
2013년 8월 27일
Caution: you have vectortocompare(checkeachlelem) with checkeachlelem being a misspelling.
We do not have your vectortofindtestnumber so we cannot test the code.
What output are you observing?
SreeHarish Muppirisetty
2013년 8월 27일
편집: Walter Roberson
2013년 8월 28일
Walter Roberson
2013년 8월 28일
When you say "from command line" compared to "while executing the program", what do we need to know about how you are executing the program? Did you write it to a .m file and are giving the name of the .m file? If so then have you checked with "which" to be sure you are executing the correct .m file ? Did you add anything else to that file?
SreeHarish Muppirisetty
2013년 8월 28일
Image Analyst
2013년 8월 27일
편집: Image Analyst
2013년 8월 27일
Why not simply use ismember:
% Define the large list to search.
vectorToCompare=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20];
% Define the numbers to look for in the larger list.
testnumber= [2 2 5 42];
[hits, indexes] = ismember(testnumber, vectorToCompare)
if any(hits)
message = sprintf('%d numbers found.', sum(hits));
else
message = sprtinf('No numbers found.');
end
msgbox(message);
P.S. How does this have to do with image analysis?
댓글 수: 3
SreeHarish Muppirisetty
2013년 8월 27일
Image Analyst
2013년 8월 28일
Did it work? It worked for me.
SreeHarish Muppirisetty
2013년 8월 28일
편집: Walter Roberson
2013년 8월 28일
이 질문은 마감되었습니다.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!