制御工学

共振角周波数と共振値

次のような二次遅れ系 \begin{align}G(s)=\dfrac{R(s)}{C(s)}=\dfrac{\omega_{n}^2}{s^2 + 2 \zeta \omega_{n} s+ \omega_{n}^2}\end{align...
制御工学

二次遅れ系の過渡応答の極大極小値

二次遅れ系の伝達関数\(G(s)\) \begin{align}G(s)=\dfrac{\omega_{n}^2}{s^2 + 2 \zeta \omega_{n} s+ \omega_{n}^2}\end{align} についての行過ぎ量...
C/C++/C#

C言語で順列と組合せを計算する

これのつづき。階乗を定義したので、順列と組み合わせを計算する。順列と組合せは \begin{align}\mathrm{{}_{n} C_r} &= \frac{n!}{ r!(n - r)!} \\\mathrm{{}_{n}P_r} &...
C/C++/C#

C言語で階乗を計算する

関数を定義して階乗を計算する。numに計算したい階乗\(n!\)の \(n\) を設定する。大きな数を使う場合はlong intなどを使えばいい。 int factorial(int num) { int i, fact = 1; for ...
制御工学

特性方程式とシステムの安定性

今線形時不変なシステムの伝達関数が \begin{align}G(s)=\frac{N(s)}{D(s)}\end{align} で与えられているとする。このとき、伝達関数の分母から作られる特性方程式\(D(s)=0\)を調べることで安定性...
数学

累乗と階乗の0の解釈とグラフ

累乗と階乗の0についてグラフから考察する。まず累乗は \begin{align}f(x)=a^x\end{align} で定義される関数である。\(x^0\)について調べたいのでその他の値を求めれば \begin{align} f(2)&=...
MATLAB/simulink

MATLABを使って完全数を探す

完全数とは自身の約数の和が自身の二倍になるような整数のことである。例えば\(6\)は \begin{align}1+2+3+6=2\times 6\end{align} となり完全数である。今回はこれをMATKLABを使って探索する。 コー...
MATLAB/simulink

Sherman–Morrison–Woodburyの公式をMATLABで計算する

Sherman–Morrison–Woodburyの公式とは \begin{align}(A+BDC)^{−1}=A^{−1}−A^{−1} B (D^{−1}+CA^{−1}B)^{−1} CA^{−1}\end{align} である。今...
MATLAB/simulink

Ziegler-Nicholsの限界感度法を用いたPIDゲインを調整法

PID制御器をZiegler-Nicholsの限界感度法を用いて調整する。限界感度法は1時遅れ系+むだ時間もしくは積分系むだ時間の時有効となる手法である。 まず、simulinkで次のような 1時遅れ系+むだ時間のPID制御モデルを作成する...
制御工学

ルーリエ系の定義

線形時不変なシステム \begin{align}\dot{x}(t)&=Ax(t) + bu(t)\\y(t)&=cx(t) \\e(t)&=-y(t)\end{align} に対しフィードバック則 \begin{align}u(t)=\p...
MATLAB/simulink

MATLABを使って行列の指数関数を計算

MATLABを使って前回の記事で考察した行列の指数関数を計算する。簡単に復習をすると行列の指数関数は \begin{align} e^A=\sum_{k=0}^{\infty}\frac{(P^{-1} A P)^k}{k!}=P^{-1}...
数学

対数の底変換公式の導出

対数の底変換公式の導出する。はじめに \begin{align}b=a^{p}\end{align} として両辺の対数をとると \begin{align}\log_c b= p \log_c a\end{align} 整理して \begin...
代数

行列の指数関数の計算

とくに現代制御においては行列の指数関数を計算する場面が現れる。行列の指数関数は \begin{align} e^{A}, \exp A, \end{align} で表される。いま、行列の指数関数を \begin{align} e^A=\su...
電気機器

異なる電源周波数で運転した場合の三相誘導電動機の各パラメータの変化

異なる電源周波数で運転した場合の三相誘導電動機を動作させたとき、三相誘導電動機のいくつかのパラメータが変化する場合がある。今回はその例をあげ、実際にどの程度変化するかを計算する。 変化前の周波数を\(f\)、 変化後の周波数を\(f'\)と...
MATLAB/simulink

simulinkでシミュレーションした結果をワークスペースに書き出してグラフを作成する

simulinkでシミュレーションした結果のグラフをMATLABを使って出力する。 前回の記事のモデルにTo Workspaceブロックを次のように追加する。 このようにすればワークスペースにoutの構造体として格納されるので、MATLAB...
MATLAB/simulink

simulinkで状態方程式をシミュレーションする

前回の記事の続き 前回のパラメータを使ってsimulinkでシミュレーションした。モデルはこれ。 結果は同じになる。
古典制御

微分要素と積分要素のボード線図

微分要素と積分要素の伝達関数は \begin{align}G_1(s)=\frac{1}{s} \hspace{5mm} G_2 (s) = s\end{align} で表される。\(s=j \omega\)を代入すれば \begin{al...
MATLAB/simulink

古典制御と現代制御の双方の視点からばねマスダンパ系を解析する

ばねマスダンパ系について、古典制御と現代制御の各変数の相互関係とそれらの解析結果が一致することを示す。 ばねマスダンパ系の運動方程式は \begin{align}M \ddot{y}(t) + C \dot{y} (t) + ky (t) ...
MATLAB/simulink

クラーク変換とパーク変換をとりあえず試す

細かいことは気にせずクラーク変換を実装する。クラーク変換は \begin{align}\begin{bmatrix}\alpha \\ \beta \\ \gamma\end{bmatrix}=k \begin{bmatrix}1 & -\...
MATLAB/simulink

線形時不変なシステムのH∞ノルムを計算する

線形時不変なシステムのH∞ノルムを計算する。適当な伝達関数 \begin{align}G(s)=\frac{1}{(s+1)(s+2)}\end{align} を定義する。H∞ノルムの定義は \begin{align}\| G(j \ome...