[ 0034: n次元球の表面積と体積 ]
[ 湯会老人の出題 ]
積分計算の練習です。自然数 n が 2 から 30ぐ らいまでの範囲に対して、
半径 1 の n 次元球の表面積と体積を求め、
Excelでグラフ (表面積系列 (S) と体積系列 (V) は、自分の好みで別の色)
を描いてください。
-
n が奇数のときと偶数のときでは別の計算式。
(2 回積分すると、また似た式になります)
-
計算式は、ネット検索で使いやすいものを探してください。
-
計算結果が常にキレイな既約分数である必要はありません。
-
浮動小数点数を適当にはしょって可。
-
とりあえず、ガンマ (Γ) 関数の勉強はしなくていいです。
S も V もあるところまで増大し、あとは減少に転じます。
それぞれに対するピークの際の n の値を特定してください。
[ 浅見多絵さんの回答 ]
やってみます。わからないなりに。
n が 2 増えるごとに π が 1 個増えるわけですね。
既約分数の形を維持するとかなり面倒ですから、
単一の浮動小数点数でどんどん進めました。
私は Perl の手ほどきを夫から受けていますから、簡単な Perl スクリプトを書き、
TAB 区切りの CSV ファイルを出力しました。
これを LibreOffice Calc (Excel と互換) に一発で読み込ませ、グラフにしました。
以下のとおりです。
とりあえず、 2 次元から 10 次元までにしました。
* 表面積 (S: Surface) は n = 7 で極大となり、
* 体積 (V: Volume) は n = 5 で極大になりました。
なお、途中で気がつきましたが n 次元の S/V 比は n になりますから、
表面積か体積かのどちらかを計算すれば、この比によって他方は求まります。
[ 湯会老人のコメント ]
10 次元まででいいです。極大ポイントが含まれればいいですから。
それにしても、あっというまに積分計算ができるようになりましたね。
Perl プログラムで計算をおこなわせて、結果を 1 次元あたり 1 行の
CSV ファイルに出力するというのは賢い。よくやる手ですが。
多絵さん、お見事 !!!
ところで、Perl は iPhone でも実行できますよ。
|