Hello. I have a cell array in a uitable that I want to find the min of the columns 2,3,4,5 – and for each column, extract the z position from the file name that corresponds to that minimum.
for h=1:4 %first column is filename, so start at 2
h data(:,h+1) class(data) c2=str2num(cell2mat(data(:,h+1))) %Select column fwhmH=2 etc.
c2min=min(c2(:)); c2idx=find(c2==c2min); text=cell2mat(file(c2idx)); C = strsplit(text,'zPos_'); class(C); C=cell2mat(C(2)); D=strsplit(C,'.tif') data2=horzcat(data2,D(1)) end set(handles.uitable2,'data',data2)
However, on the 3rd loop (h=3), for the following code
h data(:,h+1) class(data) c2=str2num(cell2mat(data(:,h+1))) %Select column fwhmH=2 etc.
I get the following output and error
h = 3.00ans = 3×1 cell array {'8317' } {'10974'} {'14623'}ans = 'cell'Error using catDimensions of matrices being concatenated are not consistent.Error in cell2mat (line 83) m{n} = cat(1,c{:,n});
I can't understand why as on the 1st & 2nd loop that correctly works, the data is of the same type – i.e. cell array
Best Answer