タグ

微分積分に関するTensorのブックマーク (8)

  • 第70回 微分・積分の数学 数値微分 [中編] | gihyo.jp

    前回は前進差分、後退差分の式の導出を行いました。これらは十分に実用的な方法なのですが、更に高い精度を求めたい場合もあるでしょう。今回は、前進差分や後退差分より誤差を小さくできる「中心差分」と、数値微分を行う場合の「微少な量」の決定の仕方を紹介します。 中心差分 中心差分[1]は、図70.1のように、差分近似を求めたい位置 x の前後 x-h と x+h を取り、関数の描くグラフ上の2つの点をつなげた直線の傾きを、求める微分の近似値とする方法です。この直線の傾きは、前進差分や後退差分の直線と比較して、注目する位置xでの関数の接線の傾きにより近いように見えます。実際に誤差が小さいことを、式を導出することで確認できます。 図70.1 中心差分とは 中心差分の式は、前回導いた式69.5と69.14から、以下のように導きます。誤差のオーダーを再確認するために、 O(h2) はもともとの形にもどします

    第70回 微分・積分の数学 数値微分 [中編] | gihyo.jp
  • 第71回 微分・積分の数学 差分法 [後編] | gihyo.jp

    これまで、数値微分の方法を紹介してきました。今回は、そのまとめとして実際にコンピュータに計算させましょう。 問題 関数を数値微分するプログラムを作りましょう。 前進差分と中心差分それぞれの場合で求めましょう。その際、導関数から求めた値と並べて出力させてください。 解説 問題 関数を数値微分するプログラムを作りましょう。 先ずは、解析的に求めた導関数の式を示します。 (1)はともかく、(⁠2)はいやですよね。こんなのは、導出が正しいかどうか不安でしようがありません。数値計算で求めた値が使えるなら、そうさせていただきたいところです。 それでは早速、前進差分と中心差分を適用してみましょう。微少な量hは前回検討した結果を用いて、前進差分では2-26、中心差分では2-52を用いて実行してみましょう。 ソースコード:Forward CentralDifference01.java 01: class

    第71回 微分・積分の数学 差分法 [後編] | gihyo.jp
  • 第72回 微分・積分の数学 数値積分 区分求積法・台形公式[前編] | gihyo.jp

    火の通りにくい野菜は、二つ、三つに切ってから鍋に入れます。ゴボウなど、硬いものは細くささがけにします。キャベツも生でサラダにするときには、消化の良いように千切りに。大きいままではべにくい材も、細かく切ればおいしくべられます。 今回から学習する数値積分は、まさにそんな手段です。かなり強引な例えでしょうか?いえいえ、数々の公式やテクニックを駆使しないと積分できない関数に対面したり、大量の連続データを目の前に呆然と立ちつくしているならば、コンピュータのパワーでまさに「みじん切り」にして、お望みの結果を手に入れることが出来るのです。おいしい数値積分を、さあ、召し上がれ。 図72.1 硬い野菜は小さく切って煮込む 数値積分とは 数値積分[1]とは、積分公式を用いず、与えられた関数そのままで、関数の描く曲線で囲まれた面積の近似値を求める方法です。面積を求める、という部分に注目して、数値的求積法と

    第72回 微分・積分の数学 数値積分 区分求積法・台形公式[前編] | gihyo.jp
  • 第73回 微分・積分の数学 数値積分 区分求積法・台形公式[後編] | gihyo.jp

    前回の問題で取り組んだ、Java言語で数値積分するプログラム例を紹介します。少々長くなりましたから、JavaDocを利用してドキュメントを出力出来るようにしておきました。先ずはこのソースコードをエディタにコピーして、後で紹介するバッチファイルを実行してJavaDocを生成させてください。 ドキュメントは、ソースコードを保存したディレクトリ内に作られるjavadocディレクトリ内にあります。index.htmlをダブルクリックするとブラウザに表示されますので、こちらを読むと構成がわかりやすいでしょう。 なお、プログラムの実行時には、アサーションを利用していますので、-eaオプションを忘れずに指定しましょう。 解説 問題 関数を数値積分するプログラムを作りましょう。 前回、手で計算した結果を活かしながら、数値積分の結果を検証するプログラムを作りましょう。以下はその一例です。 ソースコード:Te

    第73回 微分・積分の数学 数値積分 区分求積法・台形公式[後編] | gihyo.jp
  • 第69回 微分・積分の数学 数値微分 [前編] | gihyo.jp

    料理レシピを読んでいて困るのが「○○を少々」という表現です。量りで量れないようなわずかな分量だから「少々」と書くのです。材料が元々含む塩分や、好みによってこの「少々」が変動することはよく分かります。でも、困るのです。経験の浅い私は臆病になって「ほーんのちょっぴり」になってしまったり、加減が分からなくて「入れすぎ」になったりします。結果、妙に味のないスープになってしまったり、辛くて思わずしかめっ面したくなるような野菜炒めになってしまったり。「⁠少々」というのは難しいものですね。「⁠さじ加減」をしながら、だんだん上手になりたいものです。それまでは、おおよその加減で「おいしい」と思えれば、それで良しとするのが精神衛生上も良いのでしょう。 これから紹介する数値微分は、まさしくそのような手段です。「⁠出来ないよりは、役に立つ程度に出来ればOK」そんなツールです。どうです?興味がわいたことでしょう。

    第69回 微分・積分の数学 数値微分 [前編] | gihyo.jp
  • 第68回 微分・積分の数学 ニュートン・ラフソン法 [後編] | gihyo.jp

    前回紹介したニュートン・ラフソン法を利用して、方程式の解を求めてみましょう。練習問題ですから、シンプルで、手でも計算が可能な方程式を取り上げます。問題の方程式を因数分解をするとわかりますが、解は重解で1つのみです。数値計算して得た結果と、因数分解して得た結果がどれだけ一致しているか、それを確認してみましょう。 問題 ニュートン・ラフソン法で4x2+12x+9=0 の解を求めましょう。 前回の例題で紹介したソースコードを編集して、問題の方程式のためのプログラムを作成しましょう。変更が必要なのは、作成した漸化式を表すコードの部分だけです。漸化式さえコードにしてしまえば終わりの簡単な課題ではつまりませんので、もうひと味。方程式の真の値を手で計算しておいて、真の値とニュートン・ラフソン法で得た値との差を最後に表示してみましょう。 解説 問題 ニュートン・ラフソン法で4x2+12x+9=0 の解を求

    第68回 微分・積分の数学 ニュートン・ラフソン法 [後編] | gihyo.jp
  • 第67回 微分・積分の数学 ニュートン・ラフソン法 [前編] | gihyo.jp

    離れたところに飛んでくるテニスボールに対して、プレイヤーは先ず大股で駆け寄ります。ボールの落下点が近くなったら次第にステップを小刻みに、いよいよと言うところではすり足、そして最後の一歩を大きく踏み出してインパクト。 かつてソフトテニス部の副顧問をしていた時、この練習を見ていてニュートン・ラフソン法を思い出しました。人間はこのような動作アルゴリズムを練習で身につければ、ほぼ無意識に実行し、ボールとラケットのインパクトという1つの解を得ます。人間の身体コントロール能力というのは、当に素晴らしいものだと感じます。 今回学習するのは、微分とコンピュータを活用した方程式の近似解法です。原理は大変シンプルですから、気負わずに取り組んでください。そう。力んでラケットを振ると、空振りするのと同じだと思って。 図67.1 目的に向けて的確に歩みをすすめる ニュートン・ラフソン法とは ニュートン・ラフソン法

    第67回 微分・積分の数学 ニュートン・ラフソン法 [前編] | gihyo.jp
  • 第66回 微分・積分の数学 微分・積分とは | gihyo.jp

    微分・積分というと、日常生活には全く縁がないもの、と思われがちではないでしょうか。しかし、「⁠速さ」「⁠加速」あるいは「減速⁠」⁠、そして「移動距離」などと、歩いたり走ったり、自転車や自動車に乗っていれば、誰もが当たり前に使うこれらの言葉、考え方は、微分・積分と密接な関係があります。微分・積分は、私たちの日常生活に関わりが深い数学です。 しかし、例えば「エンジンの仕組みを知らなければ車に乗ることはできない」とか、「⁠電気信号の処理方法を知らなければ電話をかけられない」なんてことはありません。むしろ、そんなことを意識しないで使えるからよいのです。でも、この記事に関心を持ってくださったあなたは、きっと「もう一歩突っ込んでみたい」という気持ちがあるはずです。ただ便利に使うだけではもったいない、と思うからこそ、数学やプログラミングに関心がおありのはず。コンピュータの助けを借りて、微分・積分をより便

    第66回 微分・積分の数学 微分・積分とは | gihyo.jp
  • 1