Python

Pythonで常微分方程式を解く(ルンゲクッタ法、オイラー法、解析的手法)

今日はPythonで常微分方程式を解いてみます。 空気抵抗がある状態でのボールの自由落下における速度と軌跡を求めましょう。 数値計算 数値計算では4次のルンゲクッタ法を使用して計算します。 ルンゲクッタ法は数値解析において微分方程式の初期値問題に対し…

Pythonでグラフの描画(matplotlib)

今日はグラフの描写を簡単に勉強します。 たぶん科学技術計算をやるような人はグラフはKaleidaGraphとかIGORとかをお使いになっている方が多いような気がするので、とりあえずさわりの部分だけここには書きます。 import numpy as np import matplotlib.pypl…

Pythonで極限、微分、積分の計算(Sympy)

今日は前回に引き続きSympyを使った代数計算を勉強します。 極限 まずはsin(x)/xの無限大での極限を調べてみます。 from sympy import * x = Symbol('x') f = limit(sin(x)/x,x,oo) print (f) 極限はlimitを使用し、カッコ内に関数,極限に近づける変数,近づ…

Pythonで様々な代数計算(Sympy)

これまで配列の計算を行ってきましたがSympyライブラリを使用すれば、Pythonは代数計算にも威力を発揮します。 面倒くさい方程式などを解くときに利用できますので、今回はSympyを使用して簡単な代数計算を行ってみます。 分数型 Sympyを使用すれば、分数型…

Pythonでファイルの読み込み(文字列を含むファイル、連番ファイル)

科学技術計算では他のファイルから読み込んで解析するということが多いのでファイルの読み込みについて勉強していきます。 文字列を含むファイル ,Apple,Orange,Pineapple Day1,5,10,3 Day2,8,13,0 Day3,2,16,3 上記のようなtest.csvファイルを読み込んで、…

Pythonにおける行列の固有値問題の解法、行列の対角化

今日は行列の固有値問題を解いて、さらに行列の対角化をしてみます。 固有値問題 まずは固有値問題から。固有値問題とはAx=λxを満たすような固有ベクトルxと固有値λを求めるような問題のことです。 他のプログラムでは面倒くさいですがPythonなら簡単に求ま…

Pythonで逆行列、行列式、rankの計算

今日はNumpyの機能を最大限に活かして行列の基本的な計算をいくつか解いてみたいと思います。 逆行列計算 まずPythonで逆行列計算をしてみよう。 import numpy as np list_a = (0,4) list_b = (1,5) mat_a = np.matrix([list_a,list_b]) mat_b = np.linalg.i…

Pythonの基礎(ループ処理、条件分岐)

あらゆるプログラミングで重要なループ処理と条件分岐を勉強します。 for文 Pythonでのループ処理はforを使用する。 1から100までの和を求めるプログラムを作ってみよう。 import numpy as np sum=0 for i in range (1,101): sum = sum + i print(sum) 5050 …

Pythonによる行列の生成および四則演算

今日は行列の生成と四則演算を行う。 行列の生成 import numpy as np list_a = [0,1,2,3,4] list_b = [5,6,7,8,9] list_c = [10,11,12,13,14] matrix_a = np.array([list_a,list_b,list_c]) print(matrix_a) [[ 0 1 2 3 4] [ 5 6 7 8 9] [10 11 12 13 14]] 3…

Pythonによる配列の生成および四則演算

数学の基本である配列の計算をまとめておきます。 配列の生成 import numpy as np list_a = [0,1,2,3,4,5] array_a = np.array(list_a) print(array_a) 1行目はNumpyのインポート。これで化学計算のプログラミングが簡単になる。 2行目はリストの設定。 3行…

「Anaconda」のインストール

まずプログラミング環境を整備するために「Anaconda」をインストールします。 Anacondaはディストリビューションだなんだと説明しているものもありますが、そういうことは特に触れません。導入したら簡単に計算できるようになるもので良いと思います。ダウン…