How can I prevent cells becoming NAN cells after an event?

2 visualizaciones (últimos 30 días)
I am trying to work a simple arithmetic problem inside a cell array. I want to add all the rows from one column with all the rows from other column. I am doing this task with a push button with this code under it`s callback function:
function addCol_Callback(hObject, eventdata, handles)
data = str2double(get(handles.uitable1,'data'));
data(:,5) = data(:,3) + data(:,4);
set(handles.uitable1,'data',data);
I am able to get the arithmethic, but all the cells show the NaN message, even those where I had previously entered a number, or chosen a value from a choice list. Is there a way to get rid of the effects that the NaN cause in all the cells?
Here I present an Image before pressing the event button and an image after the button pressed.
%
  1 comentario
Alfonso Rodriguez
Alfonso Rodriguez el 10 de Mayo de 2016
Editada: Alfonso Rodriguez el 10 de Mayo de 2016
The mess is like this after pressing the button.
I just don´t want the NaN to show and mess my cells. I really just need to get the sum from the two columns and that`s it. I also need the choice list to stay the same as before the button was pressed. And also any other column to not be affected by the NaN.

Iniciar sesión para comentar.

Respuesta aceptada

Walter Roberson
Walter Roberson el 10 de Mayo de 2016
Why are you using
data = str2double(get(handles.uitable1,'data'));
The 'data' property should be a cell array, not all of which will be strings.
The choice arrays will be numeric indices into the cell array of strings entry in ColumnFormat entry for the column.
The entries for which the ColumnFormat is one of the numeric formats will be returned as numeric.
It is only the entries which are 'char' in ColumnFormat for which the column would be returned as string that need converting by str2double()
  3 comentarios
Walter Roberson
Walter Roberson el 10 de Mayo de 2016
cell2mat() the columns that you need, and num2cell the result and write it into the data cell array.
Alfonso Rodriguez
Alfonso Rodriguez el 10 de Mayo de 2016
Thanks Walter, This gives me a new insight.

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by