How to compare counts of each histogram

4 visualizzazioni (ultimi 30 giorni)
Stephen john
Stephen john il 14 Giu 2022
Modificato: Stephen john il 15 Giu 2022
Hello everyone, i hope you are doing well. i have the eight clusters. I want to calculate histogram for each cluster, after calculating histogram, i want to compare the count of each values if the count is greater in one cluster assign the value to other cluster and repeat the process till 8 clusters
How can i do that in MATLAB
I have the following code.
for i = 1:8
T = clusters{i}(:,2);
h1(i)=histogram(T,100000,'BinLimitsMode','manual','BinLimits',[0 3e8]);
end
  7 Commenti
Stephen john
Stephen john il 14 Giu 2022
@Rik @Image Analyst @Steven Lord Yes you are right, i want the group values if it using histogram it would be good. for example as you say that a person aged is 47 it has count value in one cluster for example 30, in the other cluster the same aged 47 exist and its count value if 10, as you see the count value in first cluster is greater (30) then in the other cluster(10). Now I want to to move the value from other cluster to first cluster which make the total count to 40.
I hope now you are clear
Stephen john
Stephen john il 15 Giu 2022
Modificato: Stephen john il 15 Giu 2022
Now i have the cell array of 1x8. I have find the unique value and count for each cell.
Now i want to compare the values of every cell. for example if value 80000 exist in first cell. i want to find the same number in other cells. and it run untill values in all cells are compare with one another
Secondly, if value 8000 exist in other cell, then check it count.if count is less then other count, assign that counts to other cell.
The following code. The Values gives unique values from all cells. and count gives the number of time value exist in cell.
I want to use Both of them to compare values of each cells.
BindataF=cell(1,8)
for i = 1:8
T = clusters{i}(:,2);
h1(i)=histogram(T,100000,'BinLimitsMode','manual','BinLimits',[0 3e8]);
BindataF{i}=h1(i).Data;
T1=BindataF{i}
Values=unique(T1)
counts=histc(T1(:),Values)
end

Accedi per commentare.

Risposte (1)

Saksham Gupta
Saksham Gupta il 14 Giu 2022
As per my understanding, you are unable to find the count value of histograms whose data is present with you.
Values attribute helps us to get bin count in histogram in MATLAB
Following code will help you in getting a cell array having count values of each Histogram:
clusters=num2cell(load('matlab.mat'));
h1= cell(1,8);
for i = 1:8
T = clusters{1,1}.clusters{i,1}(:,2);
z =histogram(T,100000,'BinLimitsMode','manual','BinLimits',[0 3e8]);
disp(z.Values)
h1{i}=z.Values;
end
You may also refer to the following documentation:
  7 Commenti
Image Analyst
Image Analyst il 14 Giu 2022
And the explanation???
s = load('matlab.mat')
s = struct with fields:
clusters: {8×1 cell}
clusters = s.clusters % a cell array
clusters = 8×1 cell array
{40498×5 double} {10148×5 double} { 408×5 double} {12212×5 double} { 3429×5 double} { 1632×5 double} { 6976×5 double} { 2898×5 double}
for k = 1 : numel(clusters)
subplot(3, 3, k);
histogram(clusters{k});
grid on;
ylabel('Count');
xlabel('Value');
end
What do the 5 columns, and variable number of rows represent?
Stephen john
Stephen john il 14 Giu 2022
@Image Analyst The useful features are 2nd third and fourth column, in which we are going to develop an algorithm on each feature. if the 2nd column has the value of 23000 and its count is 500, if this value (23000) exist in 2nd column of any other clusters. and has count less than 500 then we assign the value to that cluster.
Have you understand that

Accedi per commentare.

Prodotti


Release

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by