2012-04-24 55 views

回答

0
b = cellfun(@(x)str2double(x), total_data); 
1

要返回整数,你必须添加一个前缀和后缀字符串...

>> c = '1234567' 

c = 

1234567 

>> class(c) 

ans = 

char 

>> result = str2num(c) 

result = 

1234567 

>> class(result) 

ans = 

double 

>> result = str2num(['int32(' c ')']) 

result = 

1234567 

>> class(result) 

ans = 

int32 
0

我会做这样的事情:

%Test data 
N = 1e4; 
textdata = cell(N,1); 
for ix = 1:N 
    textdata{ix} = num2str(ix); 
end 

%Convert to integers 
dataAsInts = zeros(size(textdata),'int32'); 
for ix = 1:N 
    dataAsInts(ix) = int32(sscanf(textdata{ix},'%d')); 
end