Dimensions of arrays being concatenated are not consistent.

1 view (last 30 days)
I want to bin the price values in 5 bins and for each bin to group the demand values AND
then calculate the mean and the standard deviation of the demand data for each bin.
Could you please help me to fix the code?
I am trying with the following code but I got this error:
Dimensions of arrays being concatenated are not consistent.
p=Data(:,1);
d=Data(:,2);
partitions = [0 40; 40 55; 55 65; 65 max(x)+1];
for k1 = 1:size(partitions,1)
ypartmean(k1) = mean(di((pi >= partitions(k1,1)) & (pi < partitions(k1,2))));
binct(k1) = numel(di((pi >= partitions(k1,1)) & (pi < partitions(k1,2))));
end

Accepted Answer

Matt J
Matt J on 8 May 2019
Edited: Matt J on 8 May 2019
No need to loop,
E=[0,40,65,55,inf];
[binct,~,G]=histcounts(p,E);
ypartmean=splitapply(@mean,d,G);
  10 Comments
gjashta
gjashta on 8 May 2019
I got an error with scatter plot because EPSs above are vectors with different length.
Matt J
Matt J on 9 May 2019
You certainly should reorganize your data into a form that scatter() expects.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!