使用Eigen加载稀疏格式的文本文件
Load textfile in sparse format using Eigen
我是Eigen的新手,在C++方面的经验有限。我有一个以稀疏格式表示的文件(如LIBSVM),我想使用Eigen将数据加载到矩阵中。有人能告诉我怎么做吗?如果你能分享你的代码,那将非常有帮助。
因此,该文件的内容如下:
下午1:13 4:56 9:1
2:45 3:12 5:12 7:2
我想用Eigen把它加载到一个矩阵中。
您可以使用我们的loadMarket函数作为示例。市场形式如下:
%%MatrixMarket matrix coordinate real general
rows cols nnz
1 1 13
1 4 56
1 9 1
2 2 45
2 3 12
2 5 12
2 7 2
行、列和nnz替换为实际的行数、列数和非零数。
基本上,最简单的方法是填充三元组(i,j,value)的std::向量,并调用SparseMatrix::setFromTriplets来创建稀疏矩阵。
另一种方法是编写一个简单的脚本,将您的格式转换为市场格式,并调用Eigen的loadMarket函数。
相关文章:
- 文本文件中的单词链表
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 如何将内容数组写入文本文件?
- 无法通过空白将文本文件行分隔为矢量
- 我正在使用嵌套的while循环来解析具有多行的文本文件,但由于某种原因,它只通过第一行,我不知道为什么
- C++将文本文件中的数据读取到结构数组中
- 在指针的帮助下,文本文件中单词的频率
- 将字符指针十六进制转换为字符串并保存在文本文件C++中
- 将值从二维数组输出到文本文件
- 如何在c++中从文本文件中逐行读取整数
- 从文本文件中读取时钟时间和事件时间并进行处理
- 如何从文本文件中读取值和数组
- 如何在C++中确定文本文件中的元素是字符还是数字
- C++试图读取一个文件并输出到另一个文本文件
- 如何通过套接字将文本文件的内容从服务器发送到客户端
- 已修改的LinkedList未在文本文件本身中更新
- C++文本文件的获取线
- 为什么C++的文件 I/O 在读取文本文件时忽略初始空行?我怎样才能让它不这样做?
- 打印逐行存储的文本文件
- C++文本文件输入