Read a data set and bin it to different groups.

1 visualizzazione (ultimi 30 giorni)
2004017 2004018 2004018 2006019 2004019 2004017 2004018 2004018 2005019 2004019 2004017 2004018 2004018 2008019 2004019
The first four numbers of each data give the year. I want to bin the data according to their years. How should I do that? if the year is 2004 assign it to an array T1. if the year is 2005 assign it to an array T2. So on.

Risposta accettata

Rick Rosson
Rick Rosson il 18 Lug 2014
A = [ List of numbers ];
x = floor(A/1000);
T1 = A( x == 2004 );
T2 = ...
...
  1 Commento
anton fernando
anton fernando il 18 Lug 2014
Thank you very much. Similarly how can I do that for the last 3 digits in the numbers. I want to read last 3 digits and bin them to intervals. If last 3 digits in between 0-5, 5-10, 10-15 so on.

Accedi per commentare.

Più risposte (1)

Azzi Abdelmalek
Azzi Abdelmalek il 18 Lug 2014
a=[2004017 2004018 2004018 2006019 2004019 2004017 2004018 2004018 2005019 2004019 2004017 2004018 2004018 20084019 2004019]
b=arrayfun(@num2str,a,'un',0)
c=cellfun(@(x) str2num(x(1:4)),b)
[ii,jj,kk]=unique(c)
idx=arrayfun(@(x) find(ismember(c,x)),ii,'un',0)
out=cellfun(@(x) a(x),idx,'un',0)
celldisp(out)

Categorie

Scopri di più su Language Fundamentals in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by