サイズ400x1の特定のセルがあります。基本的には、文字列形式の数値で構成されます。つまり、私がするとき
mycell{1}
それは結果を与える'1'
数値 1 が文字列の形式であることがわかります。これを数値配列に変換するにはどうすればよいですか?
サイズ400x1の特定のセルがあります。基本的には、文字列形式の数値で構成されます。つまり、私がするとき
mycell{1}
それは結果を与える'1'
数値 1 が文字列の形式であることがわかります。これを数値配列に変換するにはどうすればよいですか?
str2double(mycell)
double のように見えるものの配列があるとします。
>> c = {'1' '2' ; '3' '4'}
c =
'1' '2'
'3' '4'
>> str2double(c)
ans =
1 2
3 4
>> whos ans
Name Size Bytes Class Attributes
ans 2x2 32 double
double のように見えないものがある場合NaN
、結果のそのセルにa が表示されます。
>> c{2,2} = 'aei'
c =
'1' '2'
'3' 'aei'
>> str2double(c)
ans =
1 2
3 NaN
size(mycell)
が 400x1の場合はこのようになります。. . . .
str2num(cell2mat(mycell))
... または、サイズが 1x400 の場合はこのように
str2num(cell2mat(mycell'))
ただし、文字列のいずれかに異なる数の文字が含まれている場合、これは問題を引き起こします。
mycell{1} = '2'
mycell{2} = '33'
このようなケースがあれば、
str2double(mycell)
...他の回答で述べたように、これは問題なく処理できるようです!
cellfun(@str2num,mycell)
また、double のセル配列がある場合は、次のことを試すことができます。
mycell = {'1.56548524'; '1.5265'; '-4.2616' ;'-0.2154' ;'2.15'};
あなたが試すことができます
mat = cellfun(@str2num,mycell)