重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【解消】通知が届かない不具合について

∫[0→π/2](∫[y/2→y]sinx/x dx)dy+∫[π/2→π](∫[y/2→π/2]sinx/xdx)dy
という問題なのですが、sinx/xの積分は初等関数では解けないらしく特殊関数Si(x)を使うらしいのですが、まだSiは習っていません。

積分範囲-∞~+∞だとsinx/xを求めることができるらしいのですが、
この問題は積分範囲を-∞~+∞に変更するのですか?

A 回答 (2件)

初等関数の範囲では積分できませんので、数値積分します。


f(x)=sin(x)/xをマクローリン展開してそれを積分すれば良いですね。

求める積分値の正確な値は「1」ですね。

マクローリン展開の項数を
5項まで取れば積分の精度は有効桁数4桁
10項まで取れば積分の精度は有効桁数9桁、
20項まで取れば積分の精度は有効桁数20桁、
51項まで取れば積分の精度は有効桁数61桁
となりました。
80項、100項、200項、...としたら、精度の有効桁数は100桁以上で
積分値=1になります。

マクローリン展開する方法は初等関数で積分が表せなかったり、特殊関数を使っても積分が表せない場合にも有効な数値計算法として使えます。
Si(x)は習っていなくても、マクローリン展開なら習っているでしょう(高校の数学の参考書などにも見かけますから)。

参考)数値計算はフリーソフトの数式処理ソフトwxMaxima使用
    • good
    • 0
この回答へのお礼

わかり易い解説ありがとうございます。
マクローリン展開でも解けるのですね。
計算してみます。

お礼日時:2010/01/06 23:53

∫[0→π/2](∫[y/2→y]sinx/x dx)dy+∫[π/2→π](∫[y/2→π/2]sinx/xdx)dy


=∫[0,π/4]dx∫[x,2x]{sinx/x}dy+∫[π/4,π/2]dx∫[x,π/2]{sinx/x}dy
+∫[π/4,π/2]dx∫[π/2,2x]{sinx/x}dy
=∫[0,π/4]sinxdx+∫[π/4,π/2]dx∫[x,2x]{sinx/x}dy
=∫[0,π/4]sinxdx+∫[π/4,π/2]sinxdx
=∫[0,π/2]sinxdx
=1
    • good
    • 0
この回答へのお礼

わかりやすいアドバイスありがとうございます。
とても助かりました。

お礼日時:2010/01/06 23:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!