MATLAB: Undefined function ‘times’ for input arguments of type ‘cell’.

MATLABmatlab code gui data arrays tables

Hi Guys,
I have this error when i use fsolve to solve my equation which uses arrays from the two tables I have defined. The table data are doubles and however I thought it could solve it but it keeps giving me an error saying: "Undefined function 'times' for input arguments of type 'cell'". I have defined two tables called S and R which have 1 column each i.e. column matrix. Would anyone know why fsolve doesn't solve it? I have tried debugging and it gets stuck when i define myfun i.e function to solve. It worked normally before just not in the GUI.
Any help would be extremely appreciated.

Best Answer

When you get() the Data from a uitable, the result is a cell array. If you want to convert the cell to a numeric matrix, use cell2mat(). For example,
X = cell2mat( get(handles.S, 'Data') );
One thing to watch out for is that it is not uncommon for the Data value of a uitable to be set to a cell array of strings, as using a cell array of strings allows you to control the exact format of the output display. If that has been done, if you are working with a cell array of strings that represent numbers, then you can use
X = str2double(get(handles.S, 'Data'));
with no cell2mat() needed. Note that any string not representable as a single number would be converted as NaN