50

0.1 から 10 までの範囲の線形スケールがあり、0.1 で変化します:
  |----------[]----------|
0.1 5.0 10

ただし、出力は次のようにする必要があります:
  |----------[]----------|
0.1 1.0 10 (対数目盛)

5 (たとえば) を 1.0 に変換するために必要な式を見つけようとしています。したがって、ダイアルを 1.0 と 10 の間の半分 (リニア スケールでの実際の値は 7.5) に動かした場合、結果の対数値はどうなるでしょうか? これについて何時間も考えてきましたが、私はこの種の数学をここ数年扱っていなかったので、本当に迷っています。log 10 X = 10 yの基本的な概念は理解していますが、それだけです。

5.0 の疑似値は 10 (または 10 1 ) になり、10 の疑似値は 10 10 になります。では、たとえば 7.5の疑似値その結果の対数値を計算するにはどうすればよいでしょうか。

追加情報が必要な場合はお知らせください。

提供されたヘルプに感謝します。これは私を打ち負かしました。

4

2 に答える 2

60

表記

数学とプログラミングの両方の慣例と同様に、「ログ」関数は base-e と見なされます。「exp」関数は指数関数です。これらの関数は逆であることに注意してください。関数は次のようになります。

exp : ℝ → ℝ<sup>+、および

log : ℝ<sup>+ → ℝ.

解決

ここでは単純な方程式を解いているだけです。

y = a 式 bx

点 x=0.1、y=0.1 および x=10、y=10 を通過するaおよびbについて解きます。

比 y 1 /y 2が次の式で与えられることに注意してください。

y 1 /y 2 = (a exp bx 1 ) / (a exp bx 2 ) = exp b(x 1 -x 2 )

これにより、 bについて解くことができます

b = ログ (y 1 /y 2 ) / (x 1 -x 2 )

残りは簡単です。

b = ログ (10 / 0.1) / (10 - 0.1) = 20/99 ログ 10 ≈ 0.46516870565536284

a = y 1 / exp bx 1 ≈ 0.09545484566618341

記譜法の詳細

あなたのキャリアの中で、対数関数が基数 e、基数 10、さらには基数 2 を使用するという規則を使用する人を見つけるでしょう これは単なる表記規則であり、誰もが好みの表記規則を自由に使用できます。

数学とコンピューター プログラミングの両方での慣例は、底 e の対数を使用することです。この場合、底 e を使用すると表記が簡単になります。これが、私がそれを選んだ理由です。これは、Google や TI-84 が提供する電卓で使用される規則と同じではありませんが、電卓はエンジニア向けであり、エンジニアは数学者やプログラマーとは異なる表記法を使用します。

次のプログラミング言語には、標準ライブラリに base-e log 関数が含まれています。

実際、 e を底とする対数以外のプログラミング言語を1 つも思いつきません。log()そういうプログラミング言語は確かに存在します。

于 2013-10-20T00:59:08.330 に答える