The error means, that the contents of the fields clmax are not scalar. Check this:
s = cellfun('prodofsize', clmax)
Storing the data in a cell array is the best way, if the fields have different sizes. If call have the same dimension, you can concatenate them to a matrix or a n-dim array:
clmax = cat(1, del.clmax)
You see, that neither for a cell array nor for a numerical array a loop is required.