MATLAB: Assignment has more non-singleton rhs dimensions than non-singleton subscripts

image registartion

tmp=nan(2^(main.subdivide-1)*main.siz);
tmp(1:dimen(1),1:dimen(2))=refim; refim=tmp;
tmp(1:dimen(1),1:dimen(2))=im; im=tmp;
clear tmp;
i have the above erroe in this part of my code

Best Answer

What are refim and im ? What is their size() ?
My guess is that your refim is 3 dimensional (RGB), but your tmp array is only 2 dimensional.