我必须处理大小为6004 * 17842(doc * terms)的大型稀疏矩阵。函数find()试图获取它的行,列和值,结果以ascii形式保存。但这些条款并未在每个文件中排序。任何人都可以建议我一种方法来排序矩阵和导出排序的结果吗?如何排序大型稀疏矩阵,然后在matlab中输出结果?
2
A
回答
0
难道built in sort无法正常工作吗?
1
听起来好像你有一个关于find
如何返回稀疏矩阵中的非零项的问题。例如,考虑下面的指令Matlab的
m = 6004;
n = 17842;
A = sprand(m,n,0.000001);
[i, j, x] = find(A);
由于Matlab的存储在压缩稀疏列格式其稀疏的矩阵,通过find
返回的非零项由列排序。也就是说,i
,j
和x
向量首先包含第一列中的所有非零条目,然后是第二列中的所有非零条目,依此类推。由于您的矩阵是一个术语x文档矩阵,这意味着您可以看到第一个文档中的所有术语,然后查看第二个文档中的所有术语,依此类推。在每列(文档)中,行(词)条目被排序。也许你想有按行(term)排序的非零条目。也就是说,您想要查看包含第一个术语的所有文档,然后查看包含第二个术语的所有文档,依此类推。这是很容易做到的只是转置执行find
:
[doc, term, val] = find(A');
要排序项导出到文本文件,你可以这样做:
dlmwrite('doc-term.txt',[doc term val]);
+0
OP太糟糕了最后一次看到2010年12月2日...如果这是她/他的意思,我们不太可能会收到反馈。 – 2011-10-04 07:28:56
相关问题
- 1. 如何在Matlab中计算大型稀疏矩阵的零点?
- 2. 稀疏三元组稀疏矩阵matlab
- 3. matlab:稀疏矩阵分解
- 4. 在matlab中绘制稀疏矩阵
- 5. MATLAB:在稀疏矩阵输出中隐藏nz
- 6. 构建大型scipy稀疏矩阵
- 7. SciPy的大型稀疏矩阵
- 8. scipy反转大型稀疏矩阵
- 9. 稀疏矩阵
- 10. 稀疏矩阵逐行排序
- 11. Matlab中的稀疏三维矩阵
- 12. matlab中的稀疏矩阵数组
- 13. 快速(稀疏)矩阵在MATLAB
- 14. 稀疏矩阵分配变得在Matlab
- 15. 如何合并大的稀疏矩阵
- 16. ODE45:在稀疏矩阵中给出与`expm`不同的结果
- 17. 稀疏矩阵和矩阵
- 18. matlab:提取大型稀疏矩阵的块对角线
- 19. C中的动态大型稀疏矩阵的数据结构
- 20. 在大型稀疏矩阵中查找所有矩阵的子矩阵
- 21. Matlab有效的稀疏矩阵乘法
- 22. Matlab - 稀疏矩阵系统分辨率
- 23. 关于稀疏矩阵的Matlab问题
- 24. MATLAB - 稀疏到稠密矩阵
- 25. 解决奇异稀疏矩阵MATLAB
- 26. 以稀疏矩阵
- 27. 50Kx50K稀疏矩阵
- 28. 使用相关矩阵的大型稀疏矩阵上的PCA
- 29. 大型稀疏矩阵上的快速非负矩阵分解
- 30. 大型稀疏矩阵,以三角矩阵R
定义你的“之类的”的意思。 – 2010-09-26 21:42:03
是的;这些是你正在谈论的文本字符串?如果是这样,我只是想知道为什么你选择MATLAB来做到这一点? – Gilead 2010-09-26 21:54:52