python

ガウス・ルジャンドル法を用いた円周率計算

これの続き。ガウス・ルジャンドル法を使うとより早く円周率計算ができる。 初期値を \begin{align}a_0=1 \hspace{10mm} b_0=\frac{1}{\sqrt{2}} \hspace{10mm} t_0=\frac...
python

グレゴリー・ライプニッツ級数を用いた円周率計算

グレゴリー・ライプニッツ級数を用いると円周率を計算することができる。グレゴリー・ライプニッツ級数は \begin{align}\tan^{-1} x = x - \frac{x^3}{3} + \frac{x^5}{5} + \cdots ...
数学

ルジャンドル予想をPythonで確かめる

ルジャンドル予想とはある任意の自然数\(n\)について \begin{align}n^2 \leq p_1 \leq \cdots \leq p_n\leq(n+1)^2\end{align} となるような素数\(p_1,\cdots,p_...
電磁気学

マクスウェルの方程式を眺めるだけの回

マクスウェルの方程式は \begin{align}\mathrm{div} \boldsymbol{B} (t,\boldsymbol{x}) &= 0 \\\mathrm{rot} \boldsymbol{E} (t,\boldsymbo...
数学

オイラーの公式から倍角の公式を導出する

これの続き。 オイラーの公式 \begin{align}e^{i \theta} = \cos \theta + i \sin \theta\end{align} から倍角の公式を計算することができる。いま\(\theta_1=\theta...
数学

対数微分法を使った微分

\( y=f(x)^{g(x)} \)などの形をとる関数の微分を行う場合対数微分法を使うと簡単になることがある。 この形の対数微分を考える。両辺の対数をとり \begin{align}\log{y(x)}&=g(x)\log{f(x)}\e...
化学

炭素原子一つ分の重さから陽子の重さを計算する

炭素原子から陽子の重さを計算する。1mol中に存在する炭素原子数をアボガドロ定数個とし、炭素12の陽子と中性子数は12、電子の重さを無視し、陽子と中性子が同じ重さであるとすれば \begin{align}m_{p} \approx \fra...
python

遠藤の法外な複利計算をやってみる

遠藤がカイジに吹っ掛けた10分3割複利がどのくらいやばいか計算してみる。 繰り返し回数を\(n\)、元金を\(a\)とすればこの計算は \begin{align}y = 1.3^n a \end{align} 横軸は繰り返し回数。縦軸は千円...
python

ヒストグラムの刻み量を調整する

これの続き。 刻み量が少なく正規分布に見えないので刻み量を増やす。ヒストグラムを生成する部分 plt.hist(y, bins=50, histtype='barstacked', ec='black') のbinsを変えればいい 増やすと...
python

サイコロと中心極限定理

サイコロのある面が出る確率はどの目でも一様であると考えれば \begin{align}P(X)=\frac{1}{6}\end{align} となる。いまサイコロを \(N\) 回振り、その平均を求めることを考える。 例えばサイコロのある面...
python

Pythonで転置行列を計算する

行列の転置とは \begin{align}A=\begin{pmatrix} a & b \\ c & d\end{pmatrix}\end{align} の時 \begin{align} ^{t} \! A =\begin{pmatrix...
python

三層のニューラルネットワークを実装する

三層のニューラルネットワークをPythonで実装する。 \(X\)を入力 、 \(W\)を重み 、 \(B\)をバイアスとすれば各層の計算は行列を使って \begin{align}A=XW+B\end{align} と計算できるのでこれを関...
python

numpyを使って行列を定義する

numpyを使って行列を定義するには A = np.array(, , ]) とすればいい 出来てるか確認するには print(A) 大きさを確認するには print(A.shape) とするといい。 import numpy as np ...
python

シグモイド関数を描画する

シグモイド関数の一つをPythonを使って描画する 関数は \begin{align}y=\frac{1}{1+e^{-x}}\end{align} import numpy as np from matplotlib import pyp...
制御工学

線形非同次微分方程式の解の導出

あるシステムを表す線形非同次微分方程式 \begin{align}\dot{x} (t) = Ax(t) +Bu(t) \hspace{5mm} x(t_0)=x_0\end{align} の解を求める。 \begin{align} \do...
電子回路

500万画素のRaspberryPi用カメラの組み立て

AmazonにRaspberryPi用のカメラがあったので買いました。カメラはこれ↓ 組み立てはプラねじでアクリルを止めるだけ。組み立て手順の説明書はないが何とかなる。組み立てると画像のようになった。 付属品に長さの異なるリボンケーブルとド...
過渡解析

RC直列回路と時定数

これの続き。RC直列回路の回路方程式は \begin{align}E=Ri(t)+\frac{1}{C} \int i(t) dt\end{align} これを解けば \begin{align}q(t)&=CE(1- e^{ - \frac...
python

ルンゲクッタ法でRC回路の出力を求める

電流の関係式 \begin{align}i=\frac{dq}{dt}= C \frac{dv}{dt} \end{align} より出力電圧は \begin{align}\frac{dv}{dt} = \frac{E-v}{CR} \en...
python

Pythonでテント写像を描画する

テント写像は \begin{align}x_{n+1} = 1-\left | 1 - 2 x_{n} \right |\end{align} import numpy as np from matplotlib import pyplot...
python

Pythonで指定した極、零点、ゲインを実現する伝達関数を求める

これの続き。zpk2tfを使うと指定した極、零点、ゲインを持つ伝達関数を簡単に設計できるようになる。極、零点、ゲインは次のように指定する。 zero = np.array([]) pole = np.array() G = tf(*zpk2...