簡體   English   中英

無法使 MathNet.Numerics.LinearAlgebra 中的 Matrix Method 正確語法工作

[英]Cannot get correct syntax for Matrix Method in MathNet.Numerics.LinearAlgebra to work

我創建了一個二維復數數組,如下所示:

Complex[,] array32D = new Complex[3, 2] { { D44, D45 }, { D54, D55 }, {D64,D65} };

希望使用array32D 創建一個3x2 DenseMatrix,然后嘗試調用OfArray 方法並將array32D 傳遞給它以創建matrixD。

DenseMatrix = MatrixD;
MatrixD = OfArray(Complex[,] array32D); 

第 2 行 (MatrixD = OfArray...) 不起作用並返回錯誤名稱“OfArray”在當前上下文中不存在。 為什么?

使用以下 using 語句:

using MathNet.Numerics.LinearAlgebra.Complex;

謝謝。

  1. 對於 static function OfArray您需要明確指定 class - DenseMatrix.OfArray
  2. 根據文檔OfArray只需要一個參數 - 二維數字數組。 所以,你需要DenseMatrix.OfArray(array32D); . 調用 function 時無需指定數組聲明 ( Complex[,] )。 此聲明已在 function 簽名中指定。

所以,最終的解決方案應該是這樣的(我另外省略了顯式數組維度,因為編譯器可以從初始化程序中推斷出來)。

var array32D = new Complex[,] { { D44, D45 }, { D54, D55 }, { D64, D65 } };
var MatrixD = DenseMatrix.OfArray(array32D);

當然,此解決方案假定您已經有變量DD44... DD65聲明了一些兼容類型( Complex, double等)並進行了初始化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM