>> C = [{1} {2} ; {'@CF'} {2}]
C =
[ 1] [2]
'@CF' [2]
>> whos C
Name Size Bytes Class Attributes
C 2x2 478 cell
如何将C
转换为double
,以便:
>> C
C =
1 2
NaN 2
我试过str2double(C)
。它返回:
NaN NaN
NaN NaN
发布于 2012-07-17 15:51:08
通过cellfun查询,使用isnumeric查找非数字值。将其与logical indexing一起使用来提取数值:
C = [{1} {2} ; {'@CF'} {2}];
isnum = cellfun(@isnumeric,C);
result = NaN(size(C));
result(isnum) = [C{isnum}];
发布于 2012-07-17 15:47:00
C = [{1} {2} ; {'@CF'} {2}]
C =
[ 1] [2]
'@CF' [2]
D = cellfun(@isnumeric,C);
C(~D)={nan}
C =
[ 1] [2]
[NaN] [2]
cell2mat(C)
ans =
1 2
NaN 2
发布于 2012-07-17 15:45:51
嗯,这里有混合的数据类型,所以没有一种非常直接的方法。
如果您知道数据在哪里,我能想到的最简单的方法就是简单地使用cell2mat
例如:cell2mat(C(1,1))
将返回1作为双精度数。
https://stackoverflow.com/questions/11525996
复制相似问题