Dividing a linear array into 16 or 32 equal parts is not working?

조회 수: 1 (최근 30일)
Zara Khan
Zara Khan 2019년 3월 3일
댓글: Zara Khan 2019년 3월 4일
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
Walter Roberson
Walter Roberson 2019년 3월 4일
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
Zara Khan 2019년 3월 4일
How can I implement this code? here for each image I am getting 8 different profile which are varying in length and all are one dimensional array of consequtives o's and 1's. I am repeating thsi process over 1000 images. when diving each profile into 32 equal parts then I am not getting consistent matrices.

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

답변 (0개)

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by