If statement doesn't work while reading cell or vector

4 views (last 30 days)
I have the following if statement to determine a cell or a vector but i get en error or like this when i put in the file with vectors
opts = detectImportOptions(filename);
opts = setvartype(opts, 'char');
C = readcell(filename,opts);
if ~isnumeric(C)
numIdx = cellfun(@isnumeric,C);
C(numIdx) = cellfun(@num2str,C(numIdx),'UniformOutput',false);
Cnum = cellfun(@str2num,C,'UniformOutput',false);
elseif ~ischar(C)
charIdx = cellfun(@ischar,C);
C(charIdx) = cellfun(@srt2num,C(charIdx),'UniformOutput',false);
Cnum = cellfun(@str2num,C(charIdx),'UniformOutput',false);
end
Error using str2num (line 35)
Input must be a character vector or string scalar.
Error in Uni_Vib_Sol (line 33)
Cnum = cellfun(@str2num,C,'UniformOutput',false);
so the elseif statement doesn't seem to work

Answers (1)

SaiDileep Kola
SaiDileep Kola on 15 Jan 2021
Can you send the sample file which you are checking the code with, so that issue can be reproduced

Categories

Find more on Scope Variables and Generate Names in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!