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

1 vue (au cours des 30 derniers jours)
Alfonso Rodriguez
Alfonso Rodriguez le 10 Mai 2016
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 commentaire
Alfonso Rodriguez
Alfonso Rodriguez le 10 Mai 2016
Modifié(e) : Alfonso Rodriguez le 10 Mai 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.

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 10 Mai 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 commentaires
Walter Roberson
Walter Roberson le 10 Mai 2016
cell2mat() the columns that you need, and num2cell the result and write it into the data cell array.
Alfonso Rodriguez
Alfonso Rodriguez le 10 Mai 2016
Thanks Walter, This gives me a new insight.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur App Building dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by