You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Eigen矩阵的行/列中提取对应的Eigen向量?

Eigen矩阵提取向量的实现方案

提取指定列/行向量

  • 提取索引为1的列作为列向量:
VectorXd V = M.col(1);
  • 提取索引为1的行转为列向量:
// row()返回的行向量支持直接隐式转换为VectorXd类型
VectorXd V = M.row(1);

实现单索引访问提取向量

如果你需要实现示例中M(1)这类单索引逻辑(类似Matlab单索引规则),可以先将矩阵按存储顺序扁平为一维向量后再提取:

MatrixXd M;
// 对M进行任意赋值(示例中的X为笔误
// 将矩阵按默认列优先顺序扁平为一维向量
VectorXd flat_M = Eigen::Map<VectorXd>(M.data(), M.size());
// 提取从索引1开始的n个连续元素作为向量,n可自定义
VectorXd V = flat_M.segment(1, n);

注意:Eigen索引从0开始计数,和部分数值计算软件常用的1开始计数逻辑不同,使用时可根据需求调整索引数值;如果矩阵声明时指定了行优先存储,扁平顺序也会对应变化。

内容的提问来源于stack exchange,提问作者Kaiyakha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 19:36:03