私は、Excelからインポートしたカスタムユーザーデータに基づいてトーンのピッチを調整する方法を見つけようとしています。非常に大きな数のアルゴリズムを、比較的小さな範囲の数値に適切に正規化するにはどうすればよいですか?
self.changePitch(30 + (parseInt(self.infoCollection.collection[j].array[i])-200/(3600)));
上記のコードは、「通常値」で約5,000まで機能します。しかし、私はそれらを常に最低周波数と最高周波数の間に収めるように正規化したいと思います。私はここで見つける式を用いて試してみた(200および3800)
: https://stats.stackexchange.com/questions/70801/how-to-normalize-data-to-0-1-range しかし(x-minval)/(maxval-minval)
を使用すると言う、これはすべてのケースでは動作しません。非常に大きな数字を使用する場合。 IE5000万も、それでも最大周波数を超えます。
私は何億もの有理数を正規化する方法を見つけようとしています。
編集:ご迷惑をおかけして申し訳ありません。グラフ上に置かれたデータに基づいてサウンドを再生するアプリを作っています。この目的は、視覚障害を持つユーザーが音を使用してデータをよりよく理解し、相互に関連する値を取得できるようにすることです。私の問題は、人間が特定の数を超える周波数を聞くことができないため、5000以上の値があると、その番号のサウンドは再生されません。
例: A社の利益は200ドル、B社は50百万ドルでした。周波数は人間の聴覚範囲外にあるため、ユーザーはA社の音は聞こえますがB社の音は聞こえません。
シンプレックスの計算式が機能しない例を挙げることができますか?それは数学的に正確です。 – Pointy
50,000,000/3800> 3800 – Remixt
入力値の可能な範囲に入力値がどこにあるのかを判断し、それをターゲットドメインにマップする必要があります。 – Pointy