プログラミング

python

Pythonで直列共振のインピーダンスの変化を見る

Pythonで直列共振のインピーダンスの変化を見る。誘導性リアクタンスと容量性リアクタンスは \begin{align}X_L = 2 \pi f L \hspace{10mm} X_C=\frac{1}{2 \pi f C}\end{al...
python

Pythonで二重メルセンヌ数を計算する

二重メルセンヌ数は次のように与えられる。 \begin{align}M_{p}=2^{2^{p}-1}−1 \hspace{5mm} pは素数\end{align} 以下ソース N = f = * 4 count = 0 for i in ...
python

Pythonでメルセンヌ数を計算する

メルセンヌ数は次のように与えられる。 \begin{align}M_n=2^{n}-1\end{align} 以下ソース N = 5 f = *N for i in range(1, N+1): f = 2 ** i - 1 print(f...
python

Pythonでフェルマー数を計算する

フェルマー数は次のように与えられる。 \begin{align}F_n=2^{2^n}+1\end{align} 以下ソース N = 5 f = *N for i in range(0, N): f = 2 ** (2 ** i) + 1 ...
MATLAB/simulink

MATLABでLpノルムを計算する

\(L_p\)ノルムは次のように定義される。 \begin{align}|| {\bf x} ||_p = \left ( |x_1|^p + |x_2|^p + \cdots + |x_n|^p \right )^{-p}\end{ali...
python

Pythonでヒルベルト行列を作る

Pythonでヒルベルト行列を作る。ヒルベルト行列は各要素が \begin{align}H_{ij}=\frac{1}{i+j+1}\end{align} の正方行列である。 N = 5 H = * N] * N for i in rang...
MATLAB/simulink

MATLABでヒルベルト行列を作る

MATLABでヒルベルト行列を作る。ヒルベルト行列は各要素が \begin{align}H_{ij}=\frac{1}{i+j+1}\end{align} の正方行列である。 clc clear N=5; H=zeros(N); for i...
python

余矢を定義してグラフを描く

余矢を定義してグラフを描く。余矢は \begin{align}\mathrm{cvs} \theta = 1 - \sin \theta\end{align} で定義される。グラフは 以下確認用コード import numpy as np ...
python

Pythonで伝達関数を部分分数分解する

制御工学ではよく伝達関数の性質を調べるために部分分数分解をすることがある。部分分数分解とは分数の分母を因数分解し、それらをいくつかの分数の和に分解することを指す。例えば \begin{align}\frac{1}{(x+p_{1})(x+p...
MATLAB/simulink

MATLABで双一次変換を使った離散PID制御と連続PID制御の応答を確認する

双一次変換を使った離散PID制御と連続PID制御の応答を確認する。双一次変換は連続時間の伝達関数に対して\(s\)を \begin{align}s=\frac{2(z-1)}{T(z+1)}\end{align} に置き換えればいい。\(T...
python

正矢を定義してグラフを描く

正矢を定義してグラフを描く。正矢は \begin{align}\mathrm{ver} \theta = 1 - \cos \theta\end{align} で定義される。グラフは 以下確認用コード import numpy as np ...
MATLAB/simulink

MatlabでPID制御のシミュレーションをする

MatlabでPID制御のシミュレーションをする。システムとPID制御器の伝達関数は \begin{align}P&=\frac{1}{s+1} \\C&=K_P + \frac{K_I}{s} + K_D s \end{align} また...
C/C++/C#

Aliexpressで買ったWS2812Bを光らせる

Aliexpressに自称WS2812Bが売っていたので買ってみた。購入ページはここ。 1000個買って届いたものがこれ。値段は3000円だった。 VDDは5V、VSSはGNDに接続する。1つのみの場合はDINはArduinoへ、DOUTは...
python

数列によるネイピア数の定義とグラフ

ネイピア数は数列を使って \begin{align}e=\lim_{n \to \infty} \left ( 1 + \frac{1}{n} \right )^n\end{align} で定義される。収束の様子は次のようになる。 以下コー...
python

素数定理のグラフを描く

\(n\)までの自然数に含まれる素数の数を\(\pi(x)\)とおく。\(n\)を大きくしていくと \begin{align}\pi(x) \sim \frac{n}{\log x}\end{align} が成り立つ。この関係を素数定理とい...
python

【制御】Pythonで単位ステップ関数を描く

Pythonで単位ステップ関数を描画する。単位ステップ関数は \begin{align}H(x)=\begin{cases}1 \hspace{10mm} (x \geq 0)\\0 \hspace{10mm} (x <0)\end{cas...
python

【解析】Sympyの関数を使ってヘビサイドの階段関数を描画する

Sympyの関数を使ってヘビサイドの階段関数を描画する。ヘヴィサイドの階段関数は \begin{align}H(x)=\begin{cases}1 \hspace{10mm} (x >0)\\0 \hspace{10mm} (x <0)\e...
python

【制御】互いに逆数の関係にあるシステムのボード線図と性質

2つのシステムが \begin{align}G_1=\frac{1}{s^2+s+1} \hspace{10mm} G_2= \frac{1}{G_1}\end{align} のような逆数の関係にある時、それぞれのボード線図は\(x=0\)...
python

【制御】直列に接続されたシステムのボード線図と性質

2つのシステム \begin{align}G_1=\frac{1}{s} \hspace{10mm} G_2=\frac{1}{s^2+s+1}\end{align} が直列に接続されているとき、全体のボード線図はそれぞれの伝達関数のボード...
python

【解析】双曲線関数の性質3

双曲線関数 \begin{align}\sinh x= \frac{e^{x}-e^{-x}}{2}\\\cosh x= \frac{e^{x}+e^{-x}}{2}\end{align} について \begin{align}\sinh x...