プログラミング

MATLAB/simulink

MATLABでフィボナッチ数列を計算する

詳しくは→【C言語】フィボナッチ数列を計算する MATLABでフィボナッチ数列を計算する。以下コード。 N=10; F=zeros(1,N+2); n=0; F(1,n+1)=0; n=1; F(1,n+1)=1; for n=0:1:N ...
python

Pythonで複素数を扱う

Pythonで複素数を扱うには次のようにする。 z1 = 1 + 1j z2 = 2 + 3j print(z1*z2)
python

ゲルフォントの定数を計算する

Pythonでゲルフォントの定数を計算する。ゲルフォントの定数は超越数で\(e^{\pi}\)と表される.小数では \begin{align}e^{\pi}=23.140692632779263 \cdots\end{align} となる。...
python

バーゼル問題で円周率を計算する

バーゼル問題は次のような級数の問題で、今回はこれを使って円周率を計算する \begin{align}\frac{\pi^2}{4} = \sum_{n=1}^{\infty} \frac{1}{n^2}\end{align} import ...
python

名前の分からない式で円周率の計算をする

円周率計算をする。今回はこの式 \begin{align}\prod_{n=1}^{\infty} \frac{n^2+n}{n^2+n+0.25}=\frac{\pi}{4}\end{align} で計算する。以下コード。 import ...
C/C++/C#

Arduino IDEでESP32を使うときに出たエラー その2

warning: iteration 4 invokes undefined behavior :note: within this loop とエラーが出るときは、配列の長さがおかしいので修正すればいい。
MATLAB/simulink

Matlabで立方体表面のメッシュを作る

Matlabで立方体表面のメッシュを作る。2枚ずつ作って組み合わせればいい。 N=50; x1=linspace(-1,1,N); y1=linspace(-1,1,N); z1=linspace(-1,1,2); x2=linspace(...
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{al...
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 ...