MATLAB/simulink MATLABを使って伝達関数を部分分数分解する 制御工学ではよく伝達関数の性質を調べるために部分分数分解をすることがある。部分分数分解とは分数の分母を因数分解し、それらをいくつかの分数の和に分解することを指す。例えば \begin{align}\frac{1}{(x+p_{1})(x+p... 2021.04.18 MATLAB/simulinkプログラミング制御工学古典制御
MATLAB/simulink ガウスニュートン法による関数フィッティング いくつかのデータ群から関数フィッティングを行う手法はいくつかあり、ガウスニュートン法はその一つである。 今回は調べていたら偶然見つけたガウスニュートン法のMATLABスクリプトを修正、関数化して使いやすくてみた。 プログラムは以下の通り。 ... 2021.04.15 MATLAB/simulinkプログラミング数学解析
MATLAB/simulink モンテカルロ法を使って円周率を計算する 円周率を計算する方法にモンテカルロ法というものがある。 モンテカルロ法は次の手順で円周率を求める。 円と、円が内接するような正方形を用意する正方形内にランダムな点を打つ全点と円内の点との数の比を求める すなわち \begin{align}\... 2021.04.01 MATLAB/simulinkプログラミング幾何数学
MATLAB/simulink MATLAB/simulinkを使って簡単な適応制御を試す 一次遅れ系を例にMIT方式に基づくモデル規範型適応制御を試してみる。 今、制御対象を \begin{align}y(s)=\frac{b}{s+a}\end{align} で表す。これは微分方程式で書き直せば、 \begin{align}\... 2021.03.30 MATLAB/simulinkプログラミング制御工学適応制御
MATLAB/simulink エラトステネスのふるいを約数の関係を使って改良する 前回実装したエラトステネスのふるいを約数の関係を使って高速化する。 例えば次の数の約数は \begin{align}12=1,2,3,4,6,12\end{align} となる。ここである約数\(n\)の掛け算の組を\(m_{1},m_{2... 2021.03.26 MATLAB/simulinkプログラミング数学
MATLAB/simulink エラトステネスのふるいを実装する 素数とは1と自身以外に約数を持たない正の整数のことである。この素数には今のところ法則性が見つかっておらず、探すにはエラトステネスのふるい等を用いる必要がある。 エラトステネスのふるいは次のステップで素数の探索を行う。 2を素数にする2の倍数... 2021.03.25 MATLAB/simulinkプログラミング数学
MATLAB/simulink MATLABで伝達関数を定義する matlabでの伝達関数の定義は単純で、例えば次のような伝達関数\(G(s)\) \begin{align}G(s)=\dfrac{1}{s^{2}+2s+3}\end{align} であれば Np = Dp = P = tf(Np, Dp... 2021.03.15 MATLAB/simulinkプログラミング制御工学古典制御
MATLAB/simulink ゼータ関数の特殊値を計算する ゼータ関数\begin{align}\zeta(s) = \sum_{n=1}^{\infty} \dfrac{1}{n^s} =\dfrac{1}{1^s}+\dfrac{1}{2^s}+\dfrac{1}{3^s}+\dfrac{1}{... 2021.03.14 MATLAB/simulinkプログラミング数学素数
MATLAB/simulink ウォリスの公式と円周率 次の無限積をウォリスの公式という。 \begin{align}\lim_{m \to \infty} \large \prod_{n=1}^m \frac{4n^2}{4n^2-1}=\frac{\pi}{2}\end{align} ウォリ... 2021.03.13 MATLAB/simulinkプログラミング幾何数学
MATLAB/simulink 全探索したデータから重複分を取り除く 前回(n個の組み合わせを全部列挙してみる)で作ったプログラムを改造して巡回セールスマン問題用のプログラムを作ってみる。 まず巡回セールスマン問題とは、あるセールスマンが複数の都市を訪れるとき、どのような順番で巡回すれば最も効果的(時間、移動... 2021.03.12 MATLAB/simulinkプログラミング
MATLAB/simulink n個の組み合わせを全部列挙してみる \( n \)個の組み合わせは\( n^n \)で表される。例え2桁の2進数は 2進数10進数000011102113 の組み合わせがある。ここでは\( n \)個の組み合わせをmatlabで全列挙してみようと思う。プログラムは以下の形で実... 2021.03.12 MATLAB/simulinkプログラミング
MATLAB/simulink 二次元平面上に置かれた二点間の距離を求める 二次元平面上に置かれた二点 \(p_{1}(x_{1},y_{1}),p_{2}(x_{2},y_{2})\) 間の距離\(d(p_{1},p_{2})\)は\begin{align}d(p_{1},p_{2})=\sqrt{(x_{2}-... 2021.03.08 MATLAB/simulinkプログラミング数学