Matlab 里要搞稀疏矩阵的读写,readCluto还挺顺手的。它直接把 CLUTO 的稀疏和密集矩阵格式搞定,基本上读写都靠两个函数:readCluto
和writeCluto
,文件结构也挺清爽。
它里面还有两个.c
文件需要你用mex
编译一下,主要是为了加快稀疏矩阵的速度。编译起来不难,用过mex
的话应该一看就懂,实在不行网上一搜也都是教程。
CLUTO 格式其实在图算法、聚类之类的项目里还挺常见的,尤其是搞大型稀疏图的时候,直接扔进去省不少事。如果你手头有 CLUTO 的数据文件,这个工具刚好能无缝接住,效率也不差。
你要是还没用过mex
,可以先看下这个 C-Mex 开发小例子,顺便也练下手。还有像MATLAB 中的稀疏矩阵数值计算这种文章,配合着看更清楚怎么用。
哦对了,CLUTO 的格式在官方手册里,建议你有空翻一眼,别等跑错格式才回头查。
如果你经常跟稀疏图、稀疏矩阵打交道,尤其是用 Matlab 搞算法验证,那这个小工具包还是蛮值得加进工具库的。