Read a data set and bin it to different groups.

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.

 采纳的回答

A = [ List of numbers ];
x = floor(A/1000);
T1 = A( x == 2004 );
T2 = ...
...

1 个评论

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.

请先登录,再进行评论。

更多回答(1 个)

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)

类别

帮助中心File Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by