3

(MatLab/Octave/numpy) の linspace() のような関数が Math.Net にあり、3 つのパラメーター (最小、最大、長さ) を取り、最小と最大の間の等間隔の値のベクトル/配列を作成しますか? 実装するのは難しくありませんが、既に関数があればそれを使用したいと思います。

4

3 に答える 3

4

linspace とまったく同じものはありませんが、信号発生器は非常に近くなり、配列を作成します。

SignalGenerator.EquidistantInterval(x => x, min, max, len)

私は VB.net の構文に慣れていませんが、C# に非常に近いと思います。

ベクトルが必要な場合:

new DenseVector(SignalGenerator.EquidistantInterval(x => x, min, max, len))

または、静的な Create 関数を使用して実装することもできます (実際には、ステップを事前に計算する必要がある場合があります)。

DenseVector.Create(len, i => min + i*(max-min)/(len - 1.0))

2013 年 12 月 14 日更新:

v3.0.0-alpha7 以降、これは 2 つの新しい関数でカバーされています。

  • Generate.LinearSpaced(length, a, b)-> MATLABlinspace(a, b, length)
  • Generate.LinearRange(a, [step], b)-> MATLABa:step:b
于 2013-06-11T17:47:06.953 に答える