*

【数値解析】二分法をpythonプログラムを使って解説する

公開日: : プログラミング , ,

どうも!こんにちはのぶ(@tsureblo_nobu)です!

大学三年生になり研究室を決めない時期になってきたのですが、僕は理論物理系の研究室に行くことを選びました。

そこで必要になってくるのがプログラミングでの数値解析

なのでこれから少しずつ僕が今まで学んできた数値解析のプログラムをコード例を利用して解説していこうと思います!

大学の授業で数値解析やプログラミング演習などがある方の参考になれば嬉しいです。

1.今回扱うコード例

とりあえず今回扱うコードを見ていきましょう。

「”””」で囲まれている部分や「#」がついている部分は実際にプログラムには関係のない注意書きです。

一見長く見えますが怖がらずに1つずつ見ていきましょう。

まず、最初の二行に注目

これはx^2-aの計算を小数第20桁まで計算することを表しています。

関数の定義、初期設定に関しては簡単なので割愛します。

最後に注目したいのは繰り返し処理の部分。ここが一番大切!

while文の部分で桁数が10^20を超えるまで以下の動作を繰り返すようになっている。

どこかで計算を切ってあげないと無限ループをしてしまうからLIMITを設けている。

では、次の行のxmidについてはどうだろうか?

xmidは適当に置いたある2つの数xn,xpの間の値をとる。

だからこの解の求め方は二分法と呼ばれています。

それではif文の中身を見ていきましょう!

xmidが0より大きければxpにxmidを代入、0より小さければxnに代入するようになっている。

これがどのような動作をすることになるのかわからない人は下の表を見て欲しい。

これを見れば分かる通りif文の操作をすることで段々と解の位置が限定されてきていることが分かると思う。

ちなみに実行結果は以下の通り

段々と解が限定されていき1.4142……に近づいていっていることが分かると思う。

二分法ではこのようにして方程式の解を求める法則でした。

2.最後に

今回扱った二分法はpythonに存在するモジュールを利用すれば一瞬で解くことができます。

だからといって学ばなくて良いとないがしろにするのは勿体無いと思うので今回概要をまとめてみました。

参考になれば嬉しいです。



スポンサーリンク

関連記事

[数値解析]モジュールを使ってpythonプログラムをもっと楽に

こんにちはのぶ(@tsureblo_nobu)です。   さて、第二回の今回は

記事を読む

【プログラミング】Pygameで色の飽和を処理するための方法!

最近はpygameを使ってpythonでゲームを作るための勉強をしています。 &nbs

記事を読む

機械学習を学び始めてのまとめ。機械学習の勉強の段階に入れる人とそうでない人

Pythonを使ってゲームの開発をしていたのですが、この段階も終わり(だいたい二週間ぐらい)

記事を読む

Pygameを使って画像を表示していく!【休学二日目】

今日はプログラミング言語のPythonのモジュールの1つであるPygameを使って画像表示を行いまし

記事を読む

pythonでゲームに色の変化を加えたい!画像に色の変化を加えるプログラムを解説

今日も今日とてpythonのモジュールであるpygameを使ってプログラミングの勉強をしてい

記事を読む



スポンサーリンク

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください



スポンサーリンク

解と係数の関係を解説!仕組みを理解して「n次方程式の解と係数の関係」を導出する!

おそらく、多くの受験生が数学をしていく上で利用するであろう解と

機械学習を学び始めてのまとめ。機械学習の勉強の段階に入れる人とそうでない人

Pythonを使ってゲームの開発をしていたのですが、この段階も

sin(x)のテイラー展開を微分を用いて導く!テイラー展開の根本の理解のために

大学一年生の解析学の授業で出てきて多くの人が??に追い込まれるテーラー

背理法を使って素数の無限性を証明していく!

素数は無限に存在するのか?それとも有限個なのか? &nb

相加相乗平均の公式の導出!数学の公式は導出から理解しよう!

多くの人が数学IIBの序盤でつまずく公式の定番、「相加

→もっと見る

  • どうも管理人の「のぶ」です!

    とある東京の国立理系大学に在学。

    物理工学を専攻中。

     

     



  • スポンサーリンク

PAGE TOP ↑