我有以下以制表符分隔的txt文件:
User Item Rate
1 1 9
1 2 8
2 2 7
3 1 6
3 2 8
3 3 5
我使用 tdfread 将其导入Matlab,它将上面的每一列放在一个结构的相应变量中(例如,struct.user,struct.item,struct.rate)。从那里,我想在不使用循环的情况下构建下面的矩阵:
9 8 NaN
NaN 7 NaN
6 8 5
其中每行代表上面一个用户(从1到3),每列代表其中一个项目。这可能吗?
谢谢,
答案 0 :(得分:2)
尝试这样的事情:
i = struct.User;
j = struct.Item;
A = nan(3,3);
A(sub2ind(size(A),i,j)) = struct.rate;