I currently have a 6x4 cell. Most of the cells are populated with numbers, while the remaining have zeros. Using 'isnumeric' I have checked that the cells that contain numbers are actually characters, while those with zeros are numbers. I would like to convert the characters to numbers but am unsure how to do so and keep the zeros (they "disappear" when performing str2num since they are already numbers. How do I standardize a way to search for the characters/zeros and then have them all be numbers?

 Akzeptierte Antwort

Jan
Jan am 21 Mär. 2018
Bearbeitet: Jan am 21 Mär. 2018

1 Stimme

As far as I understand you have something like this:
C = {'123', 0, '456.4'; ...
0 '987', '3.14'}
Now convert all char vectors to numbers:
index = cellfun('isclass', C, 'char');
C(index) = num2cell(str2double(C(index)))
C = {123, 0, 456.4; ...
0 987, 3.14}
Does this match your needs?

Weitere Antworten (0)

Kategorien

Gefragt:

am 21 Mär. 2018

Bearbeitet:

Jan
am 21 Mär. 2018

Community Treasure Hunt

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

Start Hunting!

Translated by