以编程方式进行 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);