MATLAB Answers


Conversion to cell from double is not possible

Asked by Tolulope Abiola on 16 Aug 2019
Latest activity Commented on by Stephen Cobeldick on 25 Aug 2019 at 6:37
I am trying to do some column calculations in MATLAB Gui columns. Like 2*pi*column1 gives column 3... So I used the code
dataC = get(handles.uitable1, 'Data'); dataC(:,3) = cell2mat(dataC(:,1)) * pi * 2;
Ans this gives error of conversion to cell from double is not possible in reference to the last line of the code.


Sign in to comment.


1 Answer

Answer by Stephen Cobeldick on 16 Aug 2019
Edited by Stephen Cobeldick on 16 Aug 2019
 Accepted Answer

A = cell2mat(dataC(:,1));
B = A * pi * 2;
dataC(:,3) = num2cell(B); % <- you need NUM2CELL!


By the looks of error message , perhaps A is of size 20 x 2. Perhaps just change num2cell(B) to num2cell(B,2).
On the same code please i have the following issues
dataC = get(handles.uitable1, 'Data'); Data = cell2mat(dataC(:,1)); C = 2* Data(:,1) * pi; dataC(:,3) = num2cell(C(:,1)); set(handles.uitable1, 'Data', dataC) With this code it adds 48 to each digit input before performing the task. And when two digits number is entered like 56 it only calculate for 5 which is the first figure alone. Anyone please help out.
@Tolulope Abiola: either make sure that the uitable column is numeric, or convert to numeric after obtaining the data from the uitable.

Sign in to comment.