【问题标题】:Define a matrix in VB2012 with Math.net Numeric Matrix使用 Math.net 数值矩阵在 VB2012 中定义矩阵
【发布时间】:2015-04-07 04:18:32
【问题描述】:

我正在从 MATLAB 切换到 VS2012。我想使用 Math.net Numeric 来求解基于矩阵的方程。我很难在 VB 环境中使用 Math.Net 矩阵在 VS2012 中定义一个简单的矩阵。我找到了很多关于 F# 以及如何定义矩阵的文章,但在 VB 中没有运气。我试过Public MAT1 As Matrix(Of,但我不知道如何完成声明。有人知道吗?谢谢。

【问题讨论】:

  • 我认为矩阵可以使用多维数组。

标签: vb.net visual-studio-2012 matrix mathnet-numerics


【解决方案1】:

MathNet 库为单数、双数和复数值预定义了 Matrix 类。

例如,要实例化一个 3x3 的双精度矩阵,请使用:

    Dim m = MathNet.Numerics.LinearAlgebra.Double.Matrix.Build.DenseOfArray({{1, 2, 3}, {4, 5, 6}, {7, 8, 9}})

对矩阵的每个操作都返回一个变换后的矩阵:

    Dim m2 = m.Multiply(1.5)

【讨论】:

  • Matrix(Of T) 是一个抽象类,因此您需要使用实现的类和提供的类工厂。如果你愿意,你没有理由不能为不同的类型推出自己的产品(但可能没有必要)。
  • 或者更短一点:Matrix(Of Double).Build.DenseOfArray(...)
  • 这是一个更好的选择!
  • 克里斯托夫,感谢您的简短选择。我可以将动态矩阵定义为 Matrix(Of Double).Build.DenseOfArray({,}) 吗?还是我应该在路上重塑?
  • 不,矩阵不能为空(因为这在数学上没有意义)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-17
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多