Info

이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.

how do i get the higher values into the bins

조회 수: 1 (최근 30일)
johnson saldanha
johnson saldanha 2018년 11월 20일
마감: MATLAB Answer Bot 2021년 8월 20일
edges=0:10:103
[~, discrete_x] = histc(x, edges);
discrete_x(discrete_x == length(edges)) = length(edges)-1;
discrete_x(discrete_x == 0) = NaN;
in this code the values above 100 is taken as NaN but i want them to go into the 11th bin. how can i do that

답변 (2개)

GT
GT 2018년 11월 20일
Maybe try using histcounts
Here is a small example:
X = randn(1000,1);
edges = [-5 -4 -2 -1 -0.5 0 0.5 1 2 4 5];
N = histcounts(X,edges)
Where in your example you can specify the edges that you would like.
  댓글 수: 3
GT
GT 2018년 11월 20일
Which version of MATLAB do you have?
histcounts came out in R2014b
X= 1:10
X(4) = nan
Y = categorical(X,[1:10 nan])
[a,b] = histcounts(Y)
I believe gives the code that you are looking for, or do you absolutely need to use the histc?
johnson saldanha
johnson saldanha 2018년 11월 20일
im using 2013

Bruno Luong
Bruno Luong 2018년 11월 20일
[~, discrete_x] = histc(x, [edges Inf]);
  댓글 수: 1
GT
GT 2018년 11월 20일
Yes, indeed this is a more elegant solution if there are no NaNs. I think I misunderstood the question, @Bruno thanks for stepping in.

태그

Community Treasure Hunt

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

Start Hunting!

Translated by