微分プログラム[python]

数値微分を行うプログラム(python)を紹介します。汎用的に使用するため、関数と数値微分を行う変数値、および微小区間を引数とします。処理するのはお馴染みの以下の数式です。 \ これをソースコードに置き換えると、以下のとおりです。 def derivative(f,x,dx): return (f(…
計算用プログラム[Python]

積分プログラム(台形積分)[C言語]

今回はプログラミングで最も基本的な積分方法である、台形積分の精度を評価してみます。 台形積分はまず、下図のように曲線を細かいdxで区切って、f(x)の値を算出します。f(x)とf(x+dx)を台形の上底と下底とみなし、台形の面積を計算し、分割した領域を足し合わせていきます。 台形積分概念図 式で書く…
計算用プログラム [C言語]

面接対策:フェルミ推定の答え方

こんにちは、さくらえびです。 このブログを見てくださっている方は、コンサル転職/新卒でのコンサル就職を考える方が多いのではないでしょうか。 よくあるフェルミ推定という言葉ですが、物理学を学んだ方にとっては身近な名前かと思います。そう、有名な物理学者であるエンリコ・フェルミです。 エンリコ・フェルミに…
キャリア系

モンテカルロ積分[python]

pythonでモンテカルロ積分をしてみたいと思います。まずは基本的なところで、円の面積を計算してみたいと思います。モンテカルロ積分は、Pythonのライブラリで関数として定義されていないため、今回は自分で書いていきます。 モンテカルロ積分は、今回の範囲を円と仮定すると、ランダム関数の適用範囲と、足し…
計算用プログラム[Python]

積分プログラム(台形積分)[python]

今回はプログラミングで最も基本的な積分方法である、台形積分の精度を評価してみます。pythonで標準的に採用されている台形積分の精度を見てみたいと思います。 台形積分はまず、下図のように曲線を細かいdxで区切って、f(x)の値を算出します。f(x)とf(x+dx)を台形の上底と下底とみなし、台形の面…
計算用プログラム[Python]

行列計算の基本的な方法[python]

pythonで行列計算ができるとのことで、いろいろと試してみました。今回紹介するのは、行列演算の基本的な部分、行列の足し算・引き算・掛け算・行列式・逆行列です。 Pythonで行列の計算を行うには、ライブラリnumpyを使用します。numpyのライブラリは便利なものが多く、今まで配列要素を気にしなが…
計算用プログラム [FORTRAN]

差分法 前進・後退・中心[Python]

こんにちは、さくらえびです。本稿では、微分を実行するプログラムをご紹介します。先行で作ったC言語、Fortranに加えて、Pythonで「関数を引数とする関数」を作成するお話も含め、ご紹介します。 f(x)という関数を引数に持つ微分関数を下記のように定義します。 def f(x): ans = x*…
計算用プログラム[Python]

COVID-19を機に学ぶSIRモデル

こんにちは。さくらえびです。 今回は新型コロナウイルス(COVID-19)の感染拡大を期に、SIRモデルを学びたいと思います。まずは、用語を理解してみたいと思います。 ・SIRモデルのSは感受性保持者。なるほど、専門外なので意味がわかりません。英語で読むとSusceptiblez引き受けやすいという…
Calculation Program [fortran]

ラゲールの陪多項式[fortran]

本稿では、ラゲールの陪多項式について、説明します。 ラゲールの陪多項式は下記微分方程式を満たす多項式です。 \ の解となる多項式です。記号で書くと、\(L^k_n(x)\)と書きます。 ラゲール多項式は、下記条件を満たします。定義は諸説ありますが、を参照しています。 1:漸化式 \ 2:微分式その1…
計算用プログラム [FORTRAN]

ラゲール多項式[fortran]

本稿では、ラゲール多項式について説明します。ラゲール多項式は、微分方程式 \ の解となる多項式です。記号で書くと、\(L_n(x)\)と書きます。 ラゲール多項式は、下記条件を満たします。定義は諸説ありますが、今回はを参照しています。 1:漸化式 \ 2:直交性 \ では、作成したソースコードを条件…
計算用プログラム [FORTRAN]