プログラミング

C/C++/C#

秋月電子に売ってるレーザ距離センサモジュールについて

VL53L1X使用 レーザー測距センサモジュール(ToF)を買ってみた。I2Cで動作する。XSHUTとGPIO01は未接続でいい。Arduinoの場合VL53L1X用のライブラリをインストールしてサンプルプログラムを動かせば終わり。似たよう...
python

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

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

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

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

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

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

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

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

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

フェルマー数は次のように与えられる。\begin{align}F_n=2^{2^n}+1\end{align}以下ソースN = 5f = *Nfor i in range(0, N): f = 2 ** (2 ** i) + 1print(...
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{alig...
python

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

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

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

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

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

余矢を定義してグラフを描く。余矢は\begin{align}\mathrm{cvs} \theta = 1 - \sin \theta\end{align}で定義される。グラフは以下確認用コードimport numpy as npimpor...
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 npimpor...
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}で定義される。収束の様子は次のようになる。以下コードim...
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{case...
python

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

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

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

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