対数間隔の数値配列を生成する方法はありますか。メソッドのシグネチャは次のようになります。
public static List<double> logSpace (double start, double end, double numValues)
これは、matlab 関数 'logspace' に似ています。
私はmatlabに精通していませんが、次のようなものを探しているようです:
public IEnumerable<double> logspace(double start, double end, int count)
{
double d = (double)count, p = end/start;
return Enumerable.Range(0, count).Select(i => start * Math.Pow(p, i/d));
}
logspace(0.1, 1, 10); // 0.1, 0.13, 0.16, 0.2, 0.25, 0.32, 0.4, 0.5, 0.63, 0.79