首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >armadillo c++中稀疏矩阵的返回位置和值

armadillo c++中稀疏矩阵的返回位置和值
EN

Stack Overflow用户
提问于 2015-03-11 06:48:03
回答 1查看 1.8K关注 0票数 7

如何获得Armadillo C++中的非零位置(索引)数组和稀疏矩阵的值?

到目前为止,我可以很容易地用一组位置(作为umat对象)和值(作为vec对象)来构造稀疏矩阵:

代码语言:javascript
运行
复制
// batch insertion of two values at (5, 6) and (9, 9)
umat locations;
locations << 5 << 9 << endr
          << 6 << 9 << endr;

vec values;
values << 1.5 << 3.2 << endr;

sp_mat X(locations, values, 9, 9);

我怎么才能把地点弄回来?例如,我希望能够做这样的事情:

代码语言:javascript
运行
复制
umat nonzero_index = X.locations()

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-11 09:06:16

关联的稀疏矩阵迭代器具有.row().col()函数:

代码语言:javascript
运行
复制
sp_mat::const_iterator start = X.begin();
sp_mat::const_iterator end   = X.end();

for(sp_mat::const_iterator it = start; it != end; ++it)
  {
  cout << "location: " << it.row() << "," << it.col() << "  ";
  cout << "value: " << (*it) << endl;
  }
票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28980228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档