I am having an issue when reshaping a cell array:
w = size(im,1); % width size
h = size(im,2);
d = size(crossfield,3);
for pxRow = 1:h % fixed pixel row
for pxCol = 1:w % fixed pixel column
for pxBreadth = 1:d
for r = 1:h % row of distant pixel
for c = 1:w % column of distant pixel
for z = 1:d
field(c,r,z) = crossfield(c,r,z).*rmatrix(c,r,z);
end
end
end
b(i) = {field}; % filling a cell array with results. read below
i = i+1;
end
end
end
b = reshape(b, w, h,z);
and the error:
Error using ==> reshape
To RESHAPE the number of elements must not change.
some other info which may be of use:
>> size(im)
ans =
35 35
>> size(crossfield)
ans =
35 35 3
>> size(rmatrix)
ans =
35 35 3
>> size(w)
ans =
1 1
How am I able to reshape b?
reshape
). What is the initial value ofi
? And what do you see when you dosize(b)
after running the loop? I seti=1;
before the loop, and seeb
as being1x3675
after running the loop. – Chris Taylor