python Pythonでドップラー効果を計算する ドップラー効果は観測者の速度を \( v_{0}\)、 音源の速度を\( v_{s}\) 、音源の周波数を\( f_{0}\) とすると \begin{align}f=f_{0} \frac{v-v_{0}}{v-v_{s}}\end{al... 2021.11.30 pythonプログラミング物理
python Pythonでナイキスト線図を書く これの続き。Pythonでナイキスト線図を書いてみた。from control.matlab import *import numpy as npfrom matplotlib import pyplot as pltN=100t=np.l... 2021.11.28 pythonプログラミング制御工学古典制御
python Pythonで忘却係数付き逐次最小二乗法を実装する これの続き。忘却係数付き逐次最小二乗法の更新則は \begin{align}\hat{\theta}_{N} &= \hat{\theta}_{N-1} + \dfrac{P_{N-1} z_{N} }{\rho + z_{N}^{T} P... 2021.11.27 pythonシステム同定プログラミング制御工学
制御工学 指定した極を実現する伝達関数を求める 二次遅れ系\begin{align}P(s)=\frac{\omega_{n}^2 }{s^2 + 2 \zeta \omega_{n} s + \omega_{n}^2}\end{align} に極が与えられたとき、その極を実現する伝達関... 2021.11.25 制御工学古典制御
python Pythonでボード線図を書く Pythonでボード線図を書くにはbode関数を使えばいい。from control.matlab import *from matplotlib import pyplot as plts = tf('s')num=den=sys = t... 2021.11.23 pythonプログラミング制御工学古典制御
python Pythonでシステムの極を調べる Pythonでシステムの極を調べるにはsyspole = pole(sys)を実行すればいい。以下コードfrom control.matlab import *s = tf('s')zeta = 1omega = 2P = omega **... 2021.11.23 pythonプログラミング制御工学古典制御
制御工学 二次遅れ系の極の導出 二次遅れ系\begin{align}P(s)=\frac{\omega_{n}^2 }{s^2 + 2 \zeta \omega_{n} s + \omega_{n}^2}\end{align} の極を導出する。分子に\(s\)が含まれてい... 2021.11.22 制御工学古典制御
python PythonでPID制御をシミュレーションする Pythonでフィードバック結合のシミュレーションをする。\begin{align}P(s)=\frac{\omega_{n}^2 }{s^2 + 2 \zeta \omega_{n} s + \omega_{n}^2}\end{align... 2021.11.22 pythonプログラミング制御工学古典制御
python Pythonでフィードバック結合をシミュレーションする Pythonでフィードバック結合のシミュレーションをする。\begin{align}P(s)=\frac{\omega_{n}^2 }{s^2 + 2 \zeta \omega_{n} s + \omega_{n}^2}\end{align... 2021.11.22 pythonプログラミング制御工学古典制御
python Pythonで二次遅れ系のシミュレーションをする Pythonで二次遅れ系をシミュレーションをする。\begin{align}G(s)=\frac{\omega_{n}^2 }{s^2 + 2 \zeta \omega_{n} s + \omega_{n}^2}\end{align} コー... 2021.11.22 pythonプログラミング制御工学古典制御
ディジタル制御 双一次変換を使って二次遅れ系の伝達関数を離散化する 二次遅れ系の伝達関数\begin{align}G(s)=\frac{\omega_n^2}{s^2+2 \zeta \omega_n s + \omega_n^2}\end{align} を双一次変換で離散化する。\(s\)に \begin... 2021.11.17 ディジタル制御制御工学古典制御
python Pythonで描いたグラフにgridを追加する 前回の結果のままでは見にくいのでgridを追加する。gridはplt.grid(color='k', linestyle='dotted', linewidth=1)で追加できる。引数を指定すればいろいろ変更できる。import numpy... 2021.11.17 pythonプログラミング
python Pythonで三角関数のグラフを書く pythonでグラフを書くにはmatplotlibを使えばいい。今回のコードを試すには三角関数も使うのでnumpyも必要になる。import numpy as npimport matplotlib.pyplot as pltx = np.... 2021.11.17 pythonプログラミング
python PythonでFizz Buzz これの続き。N = 200for i in range(1, N + 1): if i % 3 == 0 and i % 5 == 0: print("FizzBuzz") elif i % 3 == 0: print("Fizz") el... 2021.11.16 pythonプログラミング
システム同定 指定した応答を実現するようなシステムの設計法 指定した応答を実現するようなシステムを設計することを考える。システムを次で与える。\begin{align} G&=\frac{ z^{-1} P(1) }{ P(z^{-1}) }\\P(z^{-1})&=1 + p_1 z^{-1} +... 2021.11.16 システム同定制御工学古典制御
幾何 ルービックキューブを題材にしたおもちゃルービックケージ ルービックキューブを調べているとルービックケージなるものを見つけた。ルービックケージはルービックキューブのように遊べる〇×ゲームのようなもの。 2021.11.15 幾何数学
MATLAB/simulink MATLABの互換にはGNU Octaveがいいらしい GNU Octaveを試してみる。フリーなので今ある記事も置き換える予定。 2021.11.15 MATLAB/simulinkプログラミング
MATLAB/simulink 逐次最小二乗法を使って二次遅れ系の伝達関数を推定する その2 前回の記事の続き前回と同様に逐次最小二乗法を用いて二次遅れ系の伝達関数\begin{align}G(s)=\frac{\omega_{n}^2 }{s^2 + 2 \zeta \omega_{n} s + \omega_{n}^2}\end... 2021.11.15 MATLAB/simulinkシステム同定プログラミング制御工学
MATLAB/simulink 逐次最小二乗法を使って二次遅れ系の伝達関数を推定する 逐次最小二乗法については前回の記事を参照。逐次最小二乗法を用いて二次遅れ系の伝達関数\begin{align}G(s)=\frac{\omega_{n}^2 }{s^2 + 2 \zeta \omega_{n} s + \omega_{n}... 2021.11.13 MATLAB/simulinkシステム同定プログラミング制御工学古典制御
C/C++/C# 二度漬けがバレると店のオヤジから怒られるプログラム 乱数を使って二度漬けして遊ぶプログラムを作りました。色々変えて遊んでみてください。#include <stdio.h>#include <stdlib.h>#include <time.h>char* scanstr(void) { cha... 2021.11.10 C/C++/C#プログラミング