How to identify strings that can be converted to float numbers in a cell array?
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Leon
am 11 Mär. 2025
Kommentiert: Walter Roberson
am 11 Mär. 2025
I can convert a string to double using str2double, but my goal is to identify such cells. Attached is an example file.
A = readcell('test6.xlsx');
As you can see, some cells on the 2nd column meet this criteria.
Many thanks.
1 Kommentar
Akzeptierte Antwort
Les Beckham
am 11 Mär. 2025
I would suggest using readtable instead of readcell
A = readcell('test6.xlsx')
You can define the variable types so Matlab knows which columns (variables) are supposed to be numeric.
opts = detectImportOptions('test6.xlsx');
opts.VariableTypes = { 'char', 'double', 'double', 'double', 'double', 'double' };
T = readtable('test6.xlsx', opts)
And, if you really want a cell array instead of a table:
C = table2cell(T)
9 Kommentare
Les Beckham
am 11 Mär. 2025
Note that str2double will give you the same mask. It returns NaN for anything that it can't convert.
A = readcell('test6.xlsx');
mask = ~isnan(str2double(A))
Walter Roberson
am 11 Mär. 2025
Yes. You specifically wanted a method that did not use str2double() (for reasons that are not clear to us).
Siehe auch
Kategorien
Mehr zu Spreadsheets finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!