2012-02-22 55 views
2

从结构体变量值I具有以下制表符分隔txt文件:建立一个矩阵,在MATLAB

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)中的一个用户,每一列代表的项目之一。这可能吗?

感谢,

回答

2

尝试是这样的:

i = struct.User; 
j = struct.Item; 
A = nan(3,3); 
A(sub2ind(size(A),i,j)) = struct.rate; 
+1

你并不需要调用的。你可以这样做:'A = nan(3,3);' – gnovice 2012-02-22 17:50:06

+0

谢谢,我编辑了我的答案。 – 2012-02-22 18:01:04

+0

就是这样!非常感谢。 – 2012-02-22 19:00:42