Mathnet数字索引矩阵的部分
本文关键字:数字 索引 Mathnet | 更新日期: 2023-09-27 17:53:04
使用数学。网络数字,我如何索引一个矩阵的部分?
例如,我有一个整数的集合,我想得到一个子矩阵,其中的行和列被相应地选择。
A[2:3,2:3]
应该给出A的2 × 2子矩阵其中行索引和列索引是2或3
直接用
var m = Matrix<double>.Build.Dense(6,4,(i,j) => 10*i + j);
m.Column(2); // [2,12,22,32,42,52]
使用Vector<double> Column(int columnIndex)
扩展方法访问所需的列。
我怀疑您正在寻找类似于此扩展方法的东西。
public static Matrix<double> Sub(this Matrix<double> m, int[] rows, int[] columns)
{
var output = Matrix<double>.Build.Dense(rows.Length, columns.Length);
for (int i = 0; i < rows.Length; i++)
{
for (int j = 0; j < columns.Length; j++)
{
output[i,j] = m[rows[i],columns[j]];
}
}
return output;
}
我省略了异常处理,以确保行和列不为空。