# MATLAB: How to create histogram for each value of a matrix

histogramhistogram precentage

Hi all,
I have a 300X332 double matrix and i need to have an histogram of each value from the matrix in precentage. i'll explain by a simple example:
assume i have M=[1,1,2,3; 0,4,2,2; 1,1,1,1] iwant to have an histogram that will tell me how many times i have each value of the matrix out of all matrix veriables in precentage. for example the value of 1 will have a bin with height of 50%.
i used histogram func and can get only bins that are wider than only one value – bins of value 1 between 2 then 3 between 4 and so on..
later i need to extract the matrix values that correspond to 80%-90% of the whole matrix
how can i do it?
thanks

• ``M=[1,1,2,3; 0,4,2,2; 1,1,1,1];N = M(:);                           % make into vector[SortedMat,I] = sort(N);            % sort data[UnVals,uIDX] = unique(SortedMat);  % get unique valuesP = histcounts(SortedMat);          % get number of times the number appearsnum_of_elems = numel(M);            % get total number of values in matrixPercentVals = P / num_of_elems;     % divide to get percent of matrixbar(UnVals,PercentVals);            % plotxlabel('Values');ylabel('Percentage [%]');``