繁体   English   中英

做矩阵 <double> 以编程方式实例化(Math.Net C#库)

[英]Doing Matrix<double> instantiation programatically (Math.Net C# Library)

我知道这听起来像是一个初学者的问题,但是我正在使用此C#库,即使阅读了引用之后,我也无法弄清楚如何执行以下代码。

Matrix类文档位于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,而不必在代码中进行固定的操作。

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM