最近在使用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;
            }

 

相关文章:

  • 2021-10-12
  • 2022-12-23
  • 2022-12-23
  • 2022-01-07
  • 2022-12-23
  • 2021-12-21
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-26
  • 2021-09-16
  • 2022-12-23
  • 2022-01-21
相关资源
相似解决方案