If statement doesn't work while reading cell or vector

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

回答 (1 件)

SaiDileep Kola
SaiDileep Kola 2021 年 1 月 15 日

0 投票

Can you send the sample file which you are checking the code with, so that issue can be reproduced

カテゴリ

ヘルプ センター および File ExchangeApp Building についてさらに検索

質問済み:

2021 年 1 月 12 日

回答済み:

2021 年 1 月 15 日

Community Treasure Hunt

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

Start Hunting!

Translated by