使用MathNet.Numerics库构造矩阵并初始化时,编译器报错“this方法没有任何重载采用"1"个参数”

最近在使用MathNet.Numerics库作一些数据处理工作,构造一个矩阵并初始化时,编译器报错“this方法没有任何重载采用"1"个参数”。

问题分析:

构造的矩阵的维度是N*1,采用的方法是:

Matrix<float> Control_mat = Matrix<float>.Build.Dense(ComConstants.sDim, 1);

然后,再直接给该矩阵的某些元素赋值,方法如下:

            for (int i = 0; i < ComConstants.sDim; i++)
            {
                Control_mat[i] = 1.0F;
            }

此处,心里一直想着该矩阵是一个列向量,就无意间忘记了该矩阵实际上是二维的。真是大意!

解决办法:

该矩阵的第二维也需要指出元素索引,代码修改如下就不会报错了:

            for (int i = 0; i < ComConstants.sDim; i++)
            {
                Control_mat[i, 0] = 1.0F;
            }

 

使用MathNet.Numerics库构造矩阵并初始化时,编译器报错“this方法没有任何重载采用"1"个参数”

上一篇:java每日小算法(9)


下一篇:记angular和asp.net使用grpc进行通信