OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

実数の実数乗

  • 暇なときにでも
  • 質問No.145168
  • 閲覧数326
  • ありがとう数2
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 53% (212/400)

関数電卓で実数の実数乗を計算すると瞬時に答えを出してくるじゃないですか。
たとえば
    3.14159 ^ 3.14159 = 36.4619520931810818920796827215543
とか。
あれってどうやって計算してるんですか?
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.4
レベル9

ベストアンサー率 35% (18/51)

lnA も同じようにテーラー展開してやります。

ln(1+x) = x - 1/2 x^2 + 1/3 x^3 ......
補足コメント
taropoo

お礼率 53% (212/400)

長らく締めきらないまま放置して申し訳ありませんでした。
お答え下さった方々、どうもありがとうございました。
投稿日時 - 2002-01-28 13:10:26
お礼コメント
taropoo

お礼率 53% (212/400)

なるほど、これで四則演算に帰着出来るわけですね。
ありがとうございました。
投稿日時 - 2001-10-12 20:58:13
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル10

ベストアンサー率 9% (16/172)

30桁以上も表示できる関数電卓をお持ちですか、すごいですね。 ということはさておいて、計算機は2進数が得意ですからたぶん、 A^Bを求めるには、 (1)底を2とするAの対数をとる。 (2)それをB倍する。 (3)それを2のべき乗する。 という手順かと思います。 (1)と(3)はアルゴリズムの参考書に載っていたような…。 ...続きを読む
30桁以上も表示できる関数電卓をお持ちですか、すごいですね。
ということはさておいて、計算機は2進数が得意ですからたぶん、
A^Bを求めるには、
(1)底を2とするAの対数をとる。
(2)それをB倍する。
(3)それを2のべき乗する。
という手順かと思います。
(1)と(3)はアルゴリズムの参考書に載っていたような…。
補足コメント
taropoo

お礼率 53% (212/400)

そのアルゴリズムが知りたかったんですが…。
投稿日時 - 2001-10-05 13:06:47


  • 回答No.2
レベル9

ベストアンサー率 35% (18/51)

問題は 2^0.12 というような肩が実数の時ですよね。(指数の整数部はいいとして) テイラー展開をして 0 < B < 1 のとき A^B = 1 + 1/1! * (lnA * B) + 1/2! * (lnA * B)^2 + ... ≒ 1 + (lnA * B)(1/1! + (lnA * B)(1/2! + (lnA * B)(1/3! + (lnA * B ...続きを読む
問題は 2^0.12 というような肩が実数の時ですよね。(指数の整数部はいいとして)
テイラー展開をして

0 < B < 1 のとき
A^B = 1 + 1/1! * (lnA * B) + 1/2! * (lnA * B)^2 + ...

≒ 1 + (lnA * B)(1/1! + (lnA * B)(1/2! + (lnA * B)(1/3! + (lnA * B)(...(1/(n-1!) + (lnA * B)(1/n!))...))))

というやりかたがオーソドックスそうです。
補足コメント
taropoo

お礼率 53% (212/400)

lnAはどうやって計算するのですか?
投稿日時 - 2001-10-05 13:02:47
  • 回答No.3
レベル14

ベストアンサー率 57% (1014/1775)

今時のもの凄い性能の関数電卓がどうなのかは知りませんが、昔々、メモリもプロセッサも高かった時代には、たしかRobinson algorithmと言ったと思うけど、一つの級数で色んな関数(三角関数、指数関数、対数、双曲線関数etc)が計算できちゃう方法を使っていた。 級数の項をどんどん生成しながら、それを足すのか、引くのか、無視するのか、この3通りは関数ごとにtable lookupして判断するというやり ...続きを読む
今時のもの凄い性能の関数電卓がどうなのかは知りませんが、昔々、メモリもプロセッサも高かった時代には、たしかRobinson algorithmと言ったと思うけど、一つの級数で色んな関数(三角関数、指数関数、対数、双曲線関数etc)が計算できちゃう方法を使っていた。
級数の項をどんどん生成しながら、それを足すのか、引くのか、無視するのか、この3通りは関数ごとにtable lookupして判断するというやり方です。
細かいこと忘れちゃいまして、再構築してみようと試みているんですが…
補足コメント
taropoo

お礼率 53% (212/400)

Robinson algorithmですか。
分かったとしてもちょっとこのスペースでは書ききれない感じですかね?
もし出来たらお願いします。
投稿日時 - 2001-10-05 13:08:45
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ