MATLAB: Sortrows works in the main function but doesn’t work in the callback function

arraycallbacksort

Hi,
I'm using sortrows to sort a dataset array based on a column that contains non scalar values
NaN 51.1512 4.0000 6.0000
NaN 80.7646 3.0000 6.0000
NaN 89.3755 2.0000 6.0000
NaN 96.3119 1.0000 6.0000
NaN 51.1512 8.0000 5.0000
NaN 80.7646 7.0000 5.0000
5.1104 89.3755 6.0000 5.0000
NaN 96.3119 5.0000 5.0000
9.0177 51.1512 12.0000 4.0000
NaN 80.7646 11.0000 4.0000
5.3294 89.3755 10.0000 4.0000
When i use sortrows in my main function, it works but when i use it in my callback functions i get the error,
Some cells in X contain non-scalar values and cannot be sorted.
Error in sortrows (line 87)
ndx = sort_cell_back_to_front(x_sub, col);
Error in ScatterPlot (line 28)
sortData = sortrows(sortData,3);
Why does this happen?

Best Answer

You did not indicate which values you are sorting inside the callback. If you are fetching values from a uitable where the user has edited an entry, then the entry might have become a string without you realizing it, and strings are not scalar values.