はじめMath! Javaでコンピュータ数学

第72回 微分・積分の数学 数値積分 区分求積法・台形公式[前編]

この記事を読むのに必要な時間:およそ 1.5 分

問題 関数を数値積分するプログラムを作りましょう。

以下の2つの関数を,指定した範囲で数値積分しましょう。区分求積法と台形公式それぞれの場合で求めましょう。なお,数値計算をする前に,手計算で定積分し,あらかじめ結果を得ておきましょう。

プログラムでは,数値積分して得た結果と,定積分で導いた計算式をプログラムに記述して得た結果との差を表示しましょう。区分点間の距離 h は,20から2-19まで20通りで計算させてください。精度がどのように良くなるかが分かります。

解説

問題 関数を数値積分するプログラムを作りましょう。

手計算で積分値を求める様子を示します。

半径1の円の面積の四分の一を求める式ですね。式72.14が得られたらほっとします。

正比例の直線にサインカーブを重ねたグラフです。このぐらいシンプルな式なら手計算で十分ですね。

長くなりましたので,区分求積法と台形公式による数値積分のソースコード紹介は次回にいたします。その際,式72.14と72.17の式をコードに記述し,数値計算の結果と減算をした差を表示させましょう。

今回はここまで

数値積分の方法を2つ紹介しました。問題では微分や積分の公式を思い出さなければならないので,苦手な方もおられることでしょう。今回紹介した数値積分のアルゴリズムは,式72.1や72.3でご覧になったとおり大変シンプルです。それでいて,ちゃんと使える値を得ることが出来ます。こんな方法もあるのだ,と頭の隅に記憶しておけば,きっと将来役に立つことがあるでしょう。では,次回までじっくりコーディングに取り組んでおいてください。

今回のまとめ

  • 数値積分の方法として,区分求積法,台形公式の2つを紹介しました。

著者プロフィール

平田敦(ひらたあつし)

地方都市の公立工業高等学校教諭。趣味はプログラミングと日本の端っこ踏破旅行。2010年のLotYはRuby。結城浩氏のような仕事をしたいと妄想する30代後半♂。