
No.11
- 回答日時:
エクセルVBAで求めてみた。
Sub log2_3()
n = 10
ReDim a(0 To n), c(1 To n), p(-1 To n), q(-1 To n), e(1 To n)
p(-1) = 0
q(-1) = 1
a(0) = Log(3) / Log(2)
p(0) = 1
q(0) = 0
For i = 1 To n
c(i) = Int(a(i - 1))
a(i) = 1 / (a(i - 1) - c(i))
p(i) = c(i) * p(i - 1) + p(i - 2)
q(i) = c(i) * q(i - 1) + q(i - 2)
e(i) = p(i) / q(i) - a(0)
Next i
Range("a1").Resize(n + 2) = WorksheetFunction.Transpose(p)
Range("b1").Resize(n + 2) = WorksheetFunction.Transpose(q)
Range("c3").Resize(n) = WorksheetFunction.Transpose(e)
End Sub
A列が分母,B列が分子,C列が誤差
_____0_________1
_____1_________0
_____1_________1______-0.584962501
_____2_________1______0.415037499
_____3_________2______-0.084962501
_____8_________5______0.015037499
____19________12______-0.001629167
____65________41______0.000403353
___84________53______-5.68403E-05
__485_______306______4.81954E-06
_1054_______665______-9.47061E-08
24727_____15601______1.68254E-09
ご回答ありがとうございます。
No.2の方と同じく数値計算で丁寧に示されていますが、違うんです。
私は偏微分方程式や非線形微分方程式のような数値計算もできますし、誤差論もわかります。
問題は、如何にきれいにスマートにこの問題を解くかなんです。
この辺は数学者のような感覚に近いです。
もちろん、数値計算によるものであってもいいのですが…スッキリしません。
数値計算の恩恵、文明の恩恵に預かるではなく、頭の体操といった傾向が強いのは否めません。
この質問をしたのもある種のヒラメキで、簡単に解けるのでは?と思って質問させていただきました。
No.9
- 回答日時:
alice_44さんの回答を見て、音律を決める時に使う
(3/2)^12≒2^7
は使えないかなと試してみました。
3^12≒2^19より
log[2](3)≒19/12≒1.5833
ちょっと誤差が大きいですね。
なら、53音平均律を導く関係
(3/2)^53≒2^31
ならどうか?
3^53≒2^84より
log[2](3)≒84/53≒1.584905
惜しい!精度は一桁足りずです。
というわけで失敗ではありますが、音楽理論から結構いい近似が求まるのは自分には面白かったです。
ご回答ありがとうございます。
これは興味深いですね。
音階とlog[2](3)が非常に近い関係あるのがなんとも言えない感じで、良いです。
貴重な種、ありがとうございました。
No.7
- 回答日時:
代入計算は、連分数展開のほうが簡潔だが、
展開式を得る過程は、冪級数よりややこしいのでは?
ご回答ありがとうございます。
連分数に慣れていないので、なんとも言えません…
問題発起の時点でマクローリン展開などの級数展開法を用いれば簡単に出てくることは分かっていました。
しかし、級数以外の方法でも簡単にできるんだという、私のなんとも言えないヒラメキがこの質問をさせたのです。
No.6
- 回答日時:
「連分数展開」というのを使う方法もあります。
ひたすら逆数の計算と引き算をするだけなので、高校生でも十分理解できると思います。インターネットで検索すれば、どこかに載っているでしょう。利点は、次の2つ。1 マクローリン展開より計算量が少ない。
2 誤差は、特段の計算をしなくても、結果からすぐ分かる。
(誤差は、分母の2乗の逆数より小さい⇒分母が318(10万の平方根)より大きくなるまで計算すれば、誤差は0.00001以下になる。
log_2 3を0.00001以下の誤差で表すなら、最初の8項ぐらい計算すればよいでしょう。せいぜい3桁程度の数字の割り算と引き算を繰り返すことになります。
ご回答ありがとうございます。
計算を工夫したら連分数みたいになったのですが、
自分の計算が完全に展開までは出来ていませんでした。
No.5
- 回答日時:
難しげな話は拔きで、高校生っぽい道具と根性だけで解決しよう
というのなら、飛びっきりの根性が必要になります。
log_2 3 ≒ p/q ⇔ 2^p ≒ 3^q だから、
2^8 = 256 ≒ 243 = 3^5 あたりから出発して、試行錯誤しながら
2^p ≒ 3^q となる p,q の桁数を上げてゆく手はある。
2^8 > 3^5 だけれども、2^80 ≒ 3^50 を改善するにあたって
2^79 ≒ 3^50 と 2^80 ≒ 3^51 ではどちらがよいか?とか。
ともかく山程計算すれば、p/q < log_2 3 < r/s かつ
r/s - p/q < 0.00001 となる p,q,r,s を見つけることが
できるかもしれないし、途中でやんなって終るかもしれない。
どうせ根性を発揮するのなら、計算に燃えるよりも
勉強に熱意を使って、log の級数近似くらい理解するように
なるほうが、前向きでよいような気はしますね。
ご回答ありがとうございます。
この山ほどの計算が見えているとこをうまく回避する、というのが、この問題の本当に聞きたいところでした。
舌足らずですみません。
No.4
- 回答日時:
詳細は『テイラー展開』『マクローリン展開』にて調べてください。
概略のみ示します。
log[e](1+x)は xがZero に近い時 マクローリン展開すると
log[e](1+x)≒ (x^1)/1 - (x^2)/2 + (x^3)/3 - (x^4)/4 + ・・・・・
となります。
これを利用すれば代数的な計算で求まります。
上記の式を
log[e]{(1+x)/(1-x)}
=log[e](1+x) - log[e](1+(-x))
=2{(x^1)/1 + (x^3)/3 + (x^5)/5 + ・・・・・}
として、この式を利用する。
まず
Zeroに近い数としてx=1/3とすると
log[e]2
= log[e]{(1+1/3)/(1-1/3)}
= 2{1/3 + ((1/3)^3)/3 + ((1/3)^5)/5 + ・・・・・}
Zeroに近い数としてx=1/2とすると
log[e]3
= log[e]{(1+1/2)/(1-1/2)}
= 2{1/2 + ((1/2)^3)/3 + ((1/2)^5)/5 + ・・・・・}
つまり
log[2]3
= log[e]3/log[e]2
= {1/2 + ((1/2)^3)/3 + ((1/2)^5)/5 + ・・・・・}/{1/3 + ((1/3)^3)/3 + ((1/3)^5)/5 + ・・・・・}
求める桁との誤差がなくなるところで項を足すのを打ち切れば近似が求まります。
※
log[2]3=1.58496として
1項で求めると
≒{1/2}/{1/3}=3/2=1.5
2項目で求めると
≒{1/2 + ((1/2)^3)/3}/{1/3 + ((1/3)^3)/3}=1.56696
3項目で求めると
≒{1/2 + ((1/2)^3)/3 + ((1/2)^5)/5}/{1/3 + ((1/3)^3)/3 + ((1/3)^5)/5}=1.58182
4項目で求めると
≒{1/2 + ((1/2)^3)/3 + ((1/2)^5)/ + ((1/2)^7)/7}/{1/3 + ((1/3)^3)/3 + ((1/3)^5)/5 + ((1/3)^7)/7}=1.58420
と誤差が少なくなっていくことが判るかと思います。
No.3
- 回答日時:
「高校生レベルで手計算でできそうだと感じている」という根拠は何?
「超越数を有理数で近似する」だけでもものによっては非常に難しい (というか「ただの作業」) し, さらに誤差評価まで入れると本気でめんどくさいことになるんだけどなぁ.
いや, 「高校生レベルの計算」でできるのは間違いないんだよ. 手計算する気にならないだけで.
そうですね~。
ものすごい累乗になってしまうのが目に見えているんですが、どっかに抜け道があるのでは?と思ってます。
因みに、log_a b=log_(a^n) (b^n)を使ってうまく切り抜けられないか考えてます。
No.2
- 回答日時:
数値的に探すと,
485/306
誤差は4.82×10^(-6)
Private Sub Command1_Click()
g = 9999
n = 0
X0 = Log(3) / Log(2)
While g > 0.00001
n = n + 1
m = Int(X0 * n + 0.5)
g = Abs(X0 - m / n)
Wend
Print m, n
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 化学 化学が得意な方に質問です。この問題の正解を教えて欲しいです。 【問題1】Log Kowの記述について 1 2022/09/26 23:44
- 数学 数学3の微分法・対数関数の導関数に関しての質問です。 [ ] は絶対値を表しています。 y=log[ 3 2022/05/24 14:07
- 数学 対数関数のグラフ y=log(2)2(x+1)のグラフを書け 模範解答は「1+log(2)(x+1) 2 2023/07/08 01:51
- 数学 log底10真数1/75 ただし、 log底10真数2=0.3 log底10真数3=0.5とする 式 2 2022/05/30 22:51
- 数学 Zを整数の加法群とする。 M={7,8}はZの生成形になることを示せ。(Z=〈7,8〉となることを示 3 2022/11/20 22:14
- Excel(エクセル) SUMIF関数について 4 2023/06/14 13:13
- その他(ビジネス・キャリア) 製造業の倉庫でのQC発表テーマなにか参考になるものありますか? 金属板の加工をしています。 そこの倉 1 2022/10/12 12:43
- 数学 以下の問題が分かりません。 8ビット浮動小数点数が、最上位ビットから順に符号1ビット、指数部3ビット 4 2023/07/22 16:06
- 数学 対数微分法 3 2022/04/24 16:31
- 数学 n乗はどうなったのでしょうか 1 2023/01/31 19:26
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
logeの計算
-
10の0.3乗って??
-
2の50乗を簡単に概算出来る方...
-
262144って2の何乗でしょうか?
-
小数点以下の乗倍数について。
-
∮x ^2/x-1 dxの計算結果につい...
-
統計の問題でオッズ比から対数...
-
なぜ高速フーリエ変換はO(n*log...
-
【経済】毎年3%ずつ成長率が上...
-
画像、見難くてすみません。 ま...
-
log(-2)の求め方
-
数学の極限の問題です! (1)l...
-
1000分の3は何%ですか
-
0.5時間などの時間計算の方法
-
小学生の問題です
-
1000円の3割の計算教えて下さい
-
ガラス器具の許容範囲誤差と有...
-
高校化学の計算問題のコツを教...
-
1/2÷1/2はなぜ1になるのか?
-
WEBのようにスクロールすると付...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
10の0.3乗って??
-
logeの計算
-
2の50乗を簡単に概算出来る方...
-
262144って2の何乗でしょうか?
-
∮x ^2/x-1 dxの計算結果につい...
-
log(-2)の求め方
-
物理の計算で×10^3とかするのは...
-
1/2+1/4+1/6+……+1/(2n)が発散
-
【経済】毎年3%ずつ成長率が上...
-
常用対数についての問題です。7...
-
2のN乗が10の場合、手計算で...
-
ログを使う計算式をエクセルで...
-
べき乗とはなんでしょうか? 数...
-
真数の真という漢字にはどのよ...
-
虚数単位のiについて
-
指数について
-
乗数計算がわかりません
-
小数点以下の乗倍数について。
-
∫[2、∞] dx/logx の発散・収束...
-
計算技術検定2級の関数計算の問...
おすすめ情報