0

我将稀疏特征存储在以下格式的文本文件中(ArrayIndex:Value)。目前我正在使用 reg 表达式解析文本并将其转换为 matlab 数组。我想知道的是,是否有更快/更好的 MATLAB-ish 方法将这种数据格式转换为 matlab 数组。

 2402:0.099061 2404:0.136546 2406:0.447161 2407:0.126333 2408:0.213803 2411:0.068189 2416:0.223526 2417:0.090420
4

1 回答 1

2

编辑:

您可以使用 TEXTSCAN 读取和解析文件,然后从这些值构建稀疏矩阵:

fid = fopen('input.txt');
C = textscan(fid, '%f:%f');
fclose(fid);
C = sparse(1,C{1},C{2});

结果:

>> C
C =
   (1,2402)     0.099061
   (1,2404)      0.13655
   (1,2406)      0.44716
   (1,2407)      0.12633
   (1,2408)       0.2138
   (1,2411)     0.068189
   (1,2416)      0.22353
   (1,2417)      0.09042
于 2012-06-01T11:53:23.867 回答