histc removed by matlab

2 次查看(过去 30 天)
topolowa
topolowa 2016-10-20
评论: topolowa 2016-10-20
Hi,
it seems that matlab decided to remove histc and suggests to use histcounts instead. I am often usin histc as follows : [bincounts,ind]= histc(___); It seems, that histcounts does not give indices ind as outputs. I use ind from histc in many codes for various applications, e.g. with accumarray.
Is there any function which would replace histc and give ind as output?
thanks
ina

采纳的回答

Steven Lord
Steven Lord 2016-10-20
The histc function still exists, but we recommend you use histcounts and/or histogram instead.
The third output from histcounts is the equivalent of the second output from histc, assuming you've modified how you specify your bins from bin centers (used by histc) into bin edges (used by histcounts) as described in the "Convert Bin Centers to Bin Edges" example on this page in the documentation.
  1 个评论
topolowa
topolowa 2016-10-20
Perfect! thank you, I should have noticed bin value in the output... thank you very much

请先登录,再进行评论。

更多回答(1 个)

John D'Errico
John D'Errico 2016-10-20
编辑:John D'Errico 2016-10-20
Why do people never read the help? The MATLAB gods put it there for a reason, of this I am sure. :)
[N,EDGES,BIN] = histcounts(...) also returns an index array BIN, using
any of the previous syntaxes. BIN is an array of the same size as X
whose elements are the bin indices for the corresponding elements in X.
The number of elements in the kth bin is NNZ(BIN==k), which is the same
as N(k). A value of 0 in BIN indicates an element which does not belong
to any of the bins (for example, a NaN value).
Look at the THIRD output from histcounts. It does what you want. You can always discard the first and second return arguments if you only want the third.
[~,~,bins] = histcounts(stuff);

类别

Help CenterFile Exchange 中查找有关 Data Distribution Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by