以编程方式进行 Matrix<double> 实例化(Math.Net C# 库)
Doing Matrix<double> instantiation programatically (Math.Net C# Library)
我知道这听起来像是一个非常初学者的问题,但我正在使用这个 C# 库,即使在阅读了参考资料之后,我也无法弄清楚如何执行以下代码。
矩阵 Class 文档位于 https://numerics.mathdotnet.com/api/MathNet.Numerics.LinearAlgebra/Matrix%601.htm
我正在尝试做类似的事情,但我想不通
Matrix<double> matrix = new Matrix<double>();
matrix.Add(new List<double> list1());
matrix.Add(new List<double> list2());
这就是我到目前为止为创建 Matrix 对象所做的事情,我想做的是为任意数量创建 Matrix 而不是在我的代码中创建固定数量的 Matrix。
var matrixArrayBuy = CreateMatrix.DenseOfColumnArrays(listMRInfoBuy.ElementAt(0).ListValuesBuy.ToArray(), listMRInfoBuy.ElementAt(1).ListValuesBuy.ToArray(), listMRInfoBuy.ElementAt(2).ListValuesBuy.ToArray(),
listMRInfoBuy.ElementAt(3).ListValuesBuy.ToArray(), listMRInfoBuy.ElementAt(4).ListValuesBuy.ToArray(), listMRInfoBuy.ElementAt(5).ListValuesBuy.ToArray(), listMRInfoBuy.ElementAt(6).ListValuesBuy.ToArray(),
listMRInfoBuy.ElementAt(7).ListValuesBuy.ToArray(), listMRInfoBuy.ElementAt(8).ListValuesBuy.ToArray(), listMRInfoBuy.ElementAt(9).ListValuesBuy.ToArray(), listMRInfoBuy.ElementAt(10).ListValuesBuy.ToArray(),
listMRInfoBuy.ElementAt(11).ListValuesBuy.ToArray());
不确定您的 listMRInfoBuy 变量是什么,但可以尝试类似的方法:
List<double[]> matrixParams = new List<double[]>();
foreach (var item in listMRInfoBuy.Elements)
{
matrixParams.Add(item.ListValuesBuy.ToArray());
}
var matrixArrayBuy = CreateMatrix.DenseOfColumnArrays(matrixParams);
我知道这听起来像是一个非常初学者的问题,但我正在使用这个 C# 库,即使在阅读了参考资料之后,我也无法弄清楚如何执行以下代码。
矩阵 Class 文档位于 https://numerics.mathdotnet.com/api/MathNet.Numerics.LinearAlgebra/Matrix%601.htm
我正在尝试做类似的事情,但我想不通
Matrix<double> matrix = new Matrix<double>();
matrix.Add(new List<double> list1());
matrix.Add(new List<double> list2());
这就是我到目前为止为创建 Matrix 对象所做的事情,我想做的是为任意数量创建 Matrix 而不是在我的代码中创建固定数量的 Matrix。
var matrixArrayBuy = CreateMatrix.DenseOfColumnArrays(listMRInfoBuy.ElementAt(0).ListValuesBuy.ToArray(), listMRInfoBuy.ElementAt(1).ListValuesBuy.ToArray(), listMRInfoBuy.ElementAt(2).ListValuesBuy.ToArray(),
listMRInfoBuy.ElementAt(3).ListValuesBuy.ToArray(), listMRInfoBuy.ElementAt(4).ListValuesBuy.ToArray(), listMRInfoBuy.ElementAt(5).ListValuesBuy.ToArray(), listMRInfoBuy.ElementAt(6).ListValuesBuy.ToArray(),
listMRInfoBuy.ElementAt(7).ListValuesBuy.ToArray(), listMRInfoBuy.ElementAt(8).ListValuesBuy.ToArray(), listMRInfoBuy.ElementAt(9).ListValuesBuy.ToArray(), listMRInfoBuy.ElementAt(10).ListValuesBuy.ToArray(),
listMRInfoBuy.ElementAt(11).ListValuesBuy.ToArray());
不确定您的 listMRInfoBuy 变量是什么,但可以尝试类似的方法:
List<double[]> matrixParams = new List<double[]>();
foreach (var item in listMRInfoBuy.Elements)
{
matrixParams.Add(item.ListValuesBuy.ToArray());
}
var matrixArrayBuy = CreateMatrix.DenseOfColumnArrays(matrixParams);