matlab - 给定每一行的列索引,如何从矩阵的每一行中选择一个元素?
问题描述
例如,如果一个矩阵是
A = [11 22 33 11; ...
44 55 66 34; ...
67 45 33 22]
然后从我想选择的每一行
col_idx = [2 4 1]
所以结果是
ans = 22
34
67
与此类似的其他问题基于 R 或 Python。但是,我正在寻找基于 MATLAB 的答案。任何帮助,将不胜感激。
解决方案
我会用sub2ind
它:
A = [11 22 33 11; 44 55 66 34; 67 45 33 22];
col_idx = [2 4 1]
row_idx = 1:size(A, 1)
A(sub2ind(size(A), row_idx, col_idx))
输出:
col_idx =
2 4 1
row_idx =
1 2 3
ans =
22 34 67
希望有帮助!
推荐阅读
- javascript - TwoSum - Integers and Arrays
- azure - 运行 ASR 健康状态报告 Kusto 查询时出错
- python - 在分配错误之前引用的局部变量
- c++ - 1>链接:致命错误LNK1104:无法打开文件'MSCOREE.lib'`
- .net - 将值从应用程序事件传递到表单(该应用程序的此表单启动事件)VB.net
- reactjs - 如何使用 React-redux 在类组件中调度状态?
- bash - Looking for filetypes in multiple folders
- c# - 是否可以在 AngleSharp 中获取元素的行号?
- firebase - Flutter 等待 Firestore 完成
- next.js - 我可以使用 env.js 文件而不是 .env 文件在 next.config.js 文件中使用 next.js 加载环境变量吗?