从文本文件matlab读取时将单元格转换为双值

从文本文件matlab读取时将单元格转换为双值,matlab,Matlab,我试图从文件中读取数据,但我无法将格式从单元格更改为双精度格式,有人能帮我吗 我写的代码是: fid=fopen(filename); tline = fgetl(fid); while ischar(tline) temp = strsplit(tline);% temp should be array holding double values. end 文件示例(仅一行): 非常感谢,你能用吗 将单元格数组转换为与原始单元格数组中的值格式相同的矩阵 根据上面链接提供的示例: c

我试图从文件中读取数据,但我无法将格式从单元格更改为双精度格式,有人能帮我吗

我写的代码是:

fid=fopen(filename); 
tline = fgetl(fid);
while ischar(tline) 
   temp = strsplit(tline);% temp should be array holding double values.
end
文件示例(仅一行):

非常感谢,你能用吗

将单元格数组转换为与原始单元格数组中的值格式相同的矩阵

根据上面链接提供的示例:

c = {[1],    [2, 3, 4];
     [5; 9], [6, 7, 8; 10, 11, 12]};

m = cell2mat(c)


m =
     1     2     3     4
     5     6     7     8
     9    10    11    12

我想您只是在寻找
str2num

假设您有一个包含两行数字的单元格,以字符串格式存储:

c={'0.0000000e+00   4.1800000e+01   4.4800000e+01';
'0.0000000e+00   4.1800000e+01   4.4800000e+01'}
现在,您可以从第一行获得数字,如下所示:

d=str2num(c{1})


这假定已成功读入。否则,查看
doc dlmread

这可能不起作用,因为单元格中不包含数字(而是表示数字的字符串)。我可能错了,但据我记忆所及,
cell2mat()
会将表示为字符串的任何数字转换为数字。因此,生成的矩阵是数字矩阵。如果单元格中包含字母,那么是的,它将失败。感谢Kkuilla的回答,但我以前尝试过,但它不起作用。感谢Dennis的回答,但它与d=str2num(c)一起工作。
d=str2num(c{1})