Creating a function that identifies repeated items in a vector

1 view (last 30 days)
I need help with creating this repeat function.
Write a function, repeat, that takes as input a vector of arbitrary length whose elements appear in random order. Determine whether the vector contains any repeated items. If it does, return true (1). Otherwise, return false(0). Test it in a program on the following vector: 11 22 33 44 55 66 77 99 11 102

Accepted Answer

Mohammad Abouali
Mohammad Abouali on 4 Dec 2014
Edited: Mohammad Abouali on 4 Dec 2014
testVector=[11 22 33 44 55 66 77 99 11 102];
result=(numel(testVector)~=numel(unique(testVector)))
if testVector has repeated item results would be true; otherwise it would be false.
  2 Comments
Sang Yeob Kim
Sang Yeob Kim on 5 Dec 2014
Edited: Image Analyst on 5 Dec 2014
Based on your answer, I created the the function.
function repeat(v)
result=(numel(v)~=numel(unique(v)))
end
And I ran the program with the following:
>> w = [11 11 22 33 44]
w =
11 11 22 33 44
>> repeat(v)
result =
0
This should give out 1. I don't understand
Image Analyst
Image Analyst on 5 Dec 2014
Edited: Image Analyst on 5 Dec 2014
You forgot to pass anything back! You need to pass "result" back out:
function result = repeat(v)
result = (numel(v) ~= numel(unique(v)));
end
Please mark the Answer as accepted if that works.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!