在MATLAB中从稀疏矩阵中提取列向量?

时间:2014-04-15 12:11:32

标签: matlab matrix indexing

我是MATLAB的新手。

我有一个稀疏矩阵(2649429x148),我通过spconvert函数得到了它。 它是一个稀疏的用户电影矩阵。我希望获得特定电影的所有收视率。用户ID空间有一些间隙,不连续。

我尝试了以下

 mat     
            (967,1)                       1
           (7798,1)                       4
          (16272,1)                       2
          (21722,1)                       3
             .
             .
             .
          (11,148)                        5
          (2342432,148)                   5
          (2332332,148)                   5

 mat(:,4)      % it get the following 

            (967,1)                       1
           (7798,1)                       4
          (16272,1)                       2
          (21722,1)                       3
          (42773,1)                       3
          (48286,1)                       5
          (98649,1)                       2
         (156319,1)                       2
         (165720,1)                       2
          .........

我想获得(xxxxxx, 4) .....

如何获取特定影片的所有评级的列向量?

1 个答案:

答案 0 :(得分:1)

检查一下是否有效 -

[~,col1,val] = find(mat);
ratings = val(col1==4)