您必须以文本形式读取数据(使用textscan,textread,dlmread,
etc.)并转换为数字.
假设您已将数据读入单元格数组,其中包含单元格中的每个数字:
>> C = {'1,2345','3,14159','2,7183','1,4142','0,7071'}
C =
'1,2345' '3,14159' '2,7183' '1,4142' '0,7071'
使用strrep和str2double如下:
>> x = str2double(strrep(C,',','.'))
x =
1.2345 3.1416 2.7183 1.4142 0.7071
对于来自注释的示例数据,您有一个类似于以下内容的文件“1.dat”:
1,2 3,4
5,6 7,8
在这里你有一个空格作为分隔符.默认情况下,textscan使用空格作为分隔符,这样就可以了.您需要在下面更改的是数据中列数的格式说明符,方法是重复每列的%s(例如,这里我们需要’%s%s’代表两列):
>> fid = fopen('1.dat','r');
>> C = textscan(fid,'%s%s')
C =
{2x1 cell} {2x1 cell}
>> fclose(fid);
textscan的输出是由空格分隔的每列的单元格数组.将列组合成单个单元格数组并运行命令以转换为数字:
>> C = [C{:}]
C =
'1,2' '3,4'
'5,6' '7,8'
>> x = str2double(strrep(C,',','.'))
x =
1.2000 3.4000
5.6000 7.8000