Dividing a linear array into 16 or 32 equal parts is not working?
Show older comments
A{k,j}=profile;
ndivisions=32;
N{k,j} = length(A{k,j});
partnum = floor(1+(0:N{k,j}-1)/N{k,j}*ndivisions);
n1{k,j} = accumarray(partnum(:),A{k,j}(:)==1);
n2{k,j}=n1{k,j}.';
n= accumarray(partnum(:),1);
o=n.';
f{k,j}=n2{k,j}./o;
profile is a linear of consequtives 0 and 1's. When diving it to 16 or 32 equal parts then I am getting this error while stroing the f value to excel sheet. I am not getting all consistent matrices.
Error using cat
Dimensions of matrices being concatenated are not consistent.
Error in cell2mat (line 83)
m{n} = cat(1,c{:,n});
Error in a_a (line 77)
D=cell2mat(f);
4 Comments
madhan ravi
on 3 Mar 2019
length of your array?
Walter Roberson
on 4 Mar 2019
Remember that length(x) is defined as:
if any(size(x)==0)
length is 0
else
length is max(size(x))
end
It is not rows and it is not columns: it is whichever dimension is largest.
Zara Khan
on 4 Mar 2019
Answers (0)
Categories
Find more on Region and Image Properties in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!