問題タブ [logarithm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - O(log * N)とは何ですか?
O(log * N)とは何ですか?O(log N)とはどう違うのですか?
javascript - Javascriptで線形浮動小数点数の曲線を計算するにはどうすればよいですか?
線形浮動小数点数(0から1)の曲線を計算し、結果として別の浮動小数点数を取得するにはどうすればよいですか?私が欲しいのは、半分(0..0.5)までで、対数が逆になり、与えられた線形値に従って曲線のように対数になるよりも高くなることです。
algorithm - 2進対数を非常に速く見つける方法は?(せいぜいO(1))
整数の2進対数を見つけるための非常に高速な方法はありますか?たとえば、数値x = 52656145834278593348959013841835216159447547700274555627155488768が与えられた場合、そのようなアルゴリズムは215であるy = log(x、2)を見つける必要があります。xは常に2の累乗です。
問題は本当に単純なようです。必要なのは、最上位1ビットの位置を見つけることだけです。よく知られているメソッドFloorLogがありますが、特に非常に長いマルチワード整数の場合はそれほど高速ではありません。
最速の方法は何ですか?
matlab - loglogグラフで見やすくするためのデータの剪定 - Matlab
私が抱えている問題について誰かが何かアイデアを持っているかどうか疑問に思っています。
1 つのグラフに表示する必要があるかなりの量のデータがあります。太字で実線の 2 つの理論上の線が上部に表示され、次にこれらの線に収束する 10 の実験データ セットがグラフ化され、それぞれ異なる識別子 (+ または o または四角など) を使用します。これらのグラフは、最大 1e6 までの対数スケールです。グラフの最初の数十年 (< 1e3) は問題ないように見えますが、すべてのデータセットが収束する (> 1e3) ため、どのデータが何であるかを確認するのは非常に困難です。
10 年あたり 1000 を超えるデータ ポイントがあり、ある程度直線的に削除できますが、これをやりすぎると、グラフの下端の解像度が低下します。
私がやりたいことは、対数的に剪定し、ハイエンドで最も強く、0 に戻ることです。私の質問は、線形ではなく対数的にスケーリングされたインデックス ベクトルを取得するにはどうすればよいですか?
私の最初の仮定は、私のデータは lenear であるため、線形インデックスを使用してプルーニングすることができ、次のような結果になるというものでした (ただし、何十年もの間)。
しかし、これによりプルーンは明らかにびくびくした振る舞いをします。各ディケードには希望するポイント数がありますが、線形分布であるため、ポイントは対数スケールでディケードの上限に集中する傾向があります。
どうすればこれを行うことができるかについてのアイデアはありますか?
c++ - C++での対数による演算子オーバーロードの実装
C++で演算子のオーバーロードを使用して対数クラスを実装する際に問題が発生します。
私の最初の目標は、メソッドをどのように実装するかchangeBase
です。頭を包み込むのに苦労していました。
対数の底を変更する背後にある数学を理解しようとしましたが、理解できませんでした。誰かが私にそれを説明してもらえますか?
double
私の2番目の目標は、左のオペランドがaで、右のオペランドが対数オブジェクトである操作を実行できるようにすることです。
これが私のログクラスのスニペットです:
あなたたちは素晴らしいです、あなたの時間をありがとう。
c++ - C ++でlog()とfp除算のパフォーマンスを比較するにはどうすればよいですか?
C ++でログベースのクラスを使用して、非常に小さな浮動小数点値を格納しています(値が範囲を超えているためdouble
)。多数の乗算を実行しているので、これには乗算を合計に変換するという追加の利点があります。
ただし、アルゴリズムの特定の時点で、標準double
値を値で除算する必要があり、ログベースのinteger
値*=
に除算する必要があります。ログベースのクラスの演算子をオーバーロードしまし*=
た。右側の値は、実行によって最初にログベースの値に変換されてlog()
から、左側の値に追加されます。したがって、実際に実行される演算は、浮動小数点除算log()
と浮動小数点加算です。
最初に分母をログベースの値に変換する方が速いかどうかという私の質問です。これにより、浮動小数点除算が浮動小数点減算に置き換えられ、次の一連の演算が生成されます:2回log()
、浮動小数点減算、浮動小数点合計。
結局、これは、浮動小数点除算が。より速いか遅いかに要約されますlog()
。一般的な答えは、これはコンパイラとアーキテクチャに依存していると思われるので、ダーウィン10.3.0でAppleのgcc4.2を使用していると言います。それでも、型変換を行うコンストラクターを実行するなど、ここでさらに多くのことが行われる可能性があるため、これら2つの演算子の速度に関する一般的な意見や、違いを自分で測定する方法についてのアイデアを得たいと思います。等
乾杯!
optimization - 対数と均一のコスト基準の違い
Logarithmic(Lcc)とUniform(Ucc)のコスト基準の違いと、それを計算に使用する方法を理解するのに問題があります。
誰かが2つの違いを説明し、おそらくA + B*Cのような問題の複雑さを計算する方法を教えてもらえますか
(はい、これは割り当ての一部です=))
助けてくれてありがとう!
/マーシン
javascript - JavaScriptでMath.log()のベースを指定するにはどうすればよいですか?
JavaScriptの関数が必要ですが、log
10進数である必要があります。これのリストが表示されないため、不可能だと思います。これに対する解決策を知っている数学の魔法使いはいますか?
java - Java の数学の問題。計算からの奇妙な NaN
私は、多くのクエリと、これらのクエリの結果に基づく数学的モデリング、および最後にいくつかのスコアリングを行うプロジェクトに取り組んでいます (「実行時間が長すぎて完全にテストできません」)。
最近、コードにかなり新しい問題/バグがあることに気付きました。一部の結果NaN
はスコアの値を取得します! スコアの計算方法は次のとおりです。
は、常に正または 0 であるpfound
ことにpsig
注意してくださいdouble
をトリガーする考えられる原因を確認しましたがNaN
、それらのほとんどから安全であると信じています。
私はすでに pfound == 0 をチェックしています(ゼロ除算はありません)
Math.log() の引数に負の値を指定することはできません
私が疑うのはfactorial()
、(階乗を a として返すカスタム関数long
)が非常に大きな aを返すかどうかで、精度などを失うことなくlong
a にキャストすることはできません。double
をチェックしたところ、引数の結果が の場合Long.doubleValue()
に生成されるようです。NaN
NaN
コメントはありますか?ここで何か基本的なことが欠けていますか?
graph - ロググラフに目盛りを描画するには?
範囲 '1 から x' が指定され、'y' < 'x/2' のような目盛り間隔 'y' がある場合、log 10 のグラフに目盛りを描画するにはどうすればよいですか? この種の一般化されたアルゴリズムはありますか?
これはカスタム コントロールの C# にあると追加する必要がありました。