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