# Bin X data, sum corresponding Y data and then plot.

5 visualizzazioni (ultimi 30 giorni)
aneps il 3 Ago 2015
Modificato: aneps il 4 Ago 2015
I have X data ranging from 0 to 999 and corresponding Y data. I want to bin the X data from 0 to 2000 with a bin size of 10. Then accumulate corresponding Y data in the respective bins. For example, X data from 0.1 to 10 should be taken as 10; 10.01 till 20 should be taken as 20 etc. The Y data in the same interval should be summed up and put in the corresponding bins. At the end, I want to plot X,Y . Please help me to code this... thank you.
##### 0 CommentiMostra -1 commenti meno recentiNascondi -1 commenti meno recenti

Accedi per commentare.

### Risposta accettata

Walter Roberson il 4 Ago 2015
binnum = ceil(X/10);
binsum = accumarray(binnum(:), Y(:));
plot((1:size(binsum,1))*10, binsum);
##### 0 CommentiMostra -1 commenti meno recentiNascondi -1 commenti meno recenti

Accedi per commentare.

### Più risposte (1)

Jan il 3 Ago 2015
edges = [0.1, 10, 20]; % However you define this...
[N, edges, bin] = histcounts(X, edges);
Result = accumarray(bin, Y);
I cannot check this currently. Perhaps you have to transpose an input of accumarray.
##### 1 CommentoMostra NessunoNascondi Nessuno
aneps il 4 Ago 2015
Modificato: aneps il 4 Ago 2015
I tried with this code but it is giving error:
Error:
[N, edges, bin] = histcounts(X, edges);
My code:
X = A(:,1);
Y = A(:,2);
edges = [0.1, 10, 20];
[N, edges, bin] = histcounts(X, edges);
Result = accumarray(bin, Y);
Also, could you please explain me how the 'edges' is defined. It should be between max value and min value of X?

Accedi per commentare.

### Categorie

Scopri di più su Scatter Plots 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!