How to write a program to take mode of vector without using built in function 'mode'?

2 views (last 30 days)
We are using Matlab. We cannot develop an algorithm and need very descriptive and specific steps as to how to solve our question.
  3 Comments
Matt Kindig
Matt Kindig on 13 Sep 2013
Edited: Matt Kindig on 13 Sep 2013
Can you use the built-in function hist()? If you can, this is trivially easy:
doc hist

Sign in to comment.

Accepted Answer

Roger Stafford
Roger Stafford on 13 Sep 2013
If you are not permitted to use matlab's 'mode' function, and if your vector is a column vector called v, do this:
s = sort(v);
[~,p] = max(diff(find([true;diff(s)~=0;true])));
md = s(p); % <-- This is the most frequent value in v

More Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!