필터 지우기
필터 지우기

short way to bar plot a discretize vector?

조회 수: 1 (최근 30일)
Amit Ifrach
Amit Ifrach 2023년 2월 7일
댓글: Jan 2023년 2월 9일
לק"י
Hello!
I want to take a vector A, and bar plot it using specific bins (defiend by 'edges' vector). I want the plot to show the sum of values that belong to each bin. Not the number of values like histogram does.
I started to write a code:
dsc=discretize(A, edges);
barpltcll=num2cell(edges);
for i=length(edges) %this part creates cell array that holds all the sum of values that fall in the bins.
barpltcll(2,i)=sum(A(dsc(i)))...
but I thought maybe there is shorter way to do it. I would love to know about it, like turn an option in the histogram() comamnd to show the sum of values that fell into the bin rather then the counts (number of values). :)
Thanks,
Amit.

채택된 답변

Jan
Jan 2023년 2월 7일
A = rand(1, 100);
edges = linspace(0, 1, 6);
dsc = discretize(A, edges);
result = accumarray(dsc(:), A(:)); % Default function: @sum
bar(edges(1:end-1), result)
  댓글 수: 5
Amit Ifrach
Amit Ifrach 2023년 2월 9일
Hi @Jan,
It's Yemenite jews way to start a writing (translates somewhat to for the hope for g-d)
Amit :)
Jan
Jan 2023년 2월 9일
@Amit Ifrach: Thanks for the explanation. I assume I guess correctly, what "g-d" is.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Annotations에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by