python Pythonでフィードバック結合をシミュレーションする Pythonでフィードバック結合のシミュレーションをする。 \begin{align}P(s)=\frac{\omega_{n}^2 }{s^2 + 2 \zeta \omega_{n} s + \omega_{n}^2}\end{alig... 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プログラミング制御工学古典制御
python Pythonで描いたグラフにgridを追加する 前回の結果のままでは見にくいのでgridを追加する。gridは plt.grid(color='k', linestyle='dotted', linewidth=1) で追加できる。引数を指定すればいろいろ変更できる。 import nu... 2021.11.17 pythonプログラミング
python Pythonで三角関数のグラフを書く pythonでグラフを書くにはmatplotlibを使えばいい。 今回のコードを試すには三角関数も使うのでnumpyも必要になる。 import numpy as np import matplotlib.pyplot as plt x =... 2021.11.17 pythonプログラミング
python PythonでFizz Buzz これの続き。 N = 200 for i in range(1, N + 1): if i % 3 == 0 and i % 5 == 0: print("FizzBuzz") elif i % 3 == 0: print("Fizz") ... 2021.11.16 pythonプログラミング
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}\e... 2021.11.15 MATLAB/simulinkシステム同定プログラミング制御工学
MATLAB/simulink 逐次最小二乗法を使って二次遅れ系の伝達関数を推定する 逐次最小二乗法については前回の記事を参照。 逐次最小二乗法を用いて二次遅れ系の伝達関数 \begin{align}G(s)=\frac{\omega_{n}^2 }{s^2 + 2 \zeta \omega_{n} s + \omega_{... 2021.11.13 MATLAB/simulinkシステム同定プログラミング制御工学古典制御
C/C++/C# 二度漬けがバレると店のオヤジから怒られるプログラム 乱数を使って二度漬けして遊ぶプログラムを作りました。色々変えて遊んでみてください。 #include <stdio.h> #include <stdlib.h> #include <time.h> char* scanstr(void) {... 2021.11.10 C/C++/C#プログラミング
C/C++/C# C言語で複数の変数を返したい時 C言語では通常の関数の使い方ではreturnによって複数の変数を返すことはできない。こういう時はポインタを使えばうまくいく。 #include <stdio.h> void test(int a, int* p1,int *p2); voi... 2021.11.10 C/C++/C#プログラミング
プログラミング ESP32でMCP23017を使う MCP23017はI2Cで接続することができる。とりあえず動かすためには次のようなプログラムでいい。 このプログラムを使えば入力、内部プルアップで動作し、シリアル通信で結果が送られてくる。 #include <Wire.h> int DEV... 2021.11.01 プログラミング
プログラミング Arduino IDEでESP32を使うときに出たエラー Arduino IDEでESP32を使ってるときにこんなエラーが出た rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_d... 2021.11.01 プログラミング
C/C++/C# C言語で漸化式を解く 漸化式とは前回計算した値を使い今の値を計算するような式である。今回は簡単な漸化式 \begin{align}a_n=a_{n-1}+b\end{align} の形をした漸化式をC言語で計算する。 ソース #include "stdio.h"... 2021.10.26 C/C++/C#プログラミング数学
プログラミング 零次ホールドのボード線図 零次ホールドの伝達関数は \begin{align}H(s)=\frac{1-e^{-sT}}{s}\end{align} \(T=0.1\)でボード線図を書くと次のようになる。 \(T\)を変化させるほどにゲインが下がる。これはサンプル&... 2021.10.24 プログラミング制御工学
MATLAB/simulink MATLABを使って零次ホールドを試す matlabを使って零次ホールドを試す。対象のシステムは \begin{align}G=\frac{s}{1+s}\end{align} 零次ホールドは \begin{align}H=\dfrac{1-e^{-sT}}{s}\end{ali... 2021.10.23 MATLAB/simulinkディジタル制御プログラミング制御工学
MATLAB/simulink MATLABで楕円を書く 楕円の座標は \begin{align}x&=a \cos \theta\\y&=b \sin \theta\end{align} で計算できる。\(a=b\)の時、円になる。 a=2; b=5; theta=-2*pi:0.01:2*pi... 2021.10.22 MATLAB/simulinkプログラミング幾何
python classを使って単層パーセプトロンを定義しORを実装する これの続き。 単層パーセプトロンをclass定義して、動作確認にORを計算する。 import mylib NN1 = mylib.NN() NN1.w1 = 0.5 NN1.w2 = 0.5 NN1.b = -0.2 print(NN1.... 2021.10.20 pythonプログラミング機械学習
python 単層パーセプトロンを使ってORを作る 単層パーセプトロンを使ってORを作る。ORは ABX000011101111 import mylib print(mylib.OR(0,0)) print(mylib.OR(0,1)) print(mylib.OR(1,0)) print... 2021.10.18 pythonプログラミング機械学習
MATLAB/simulink MATLABで忘却係数付き逐次最小二乗法を実装する 忘却係数付き逐次最小二乗法の更新則は \begin{align}\hat{\theta}_{N} &= \hat{\theta}_{N-1} + \dfrac{P_{N-1} z_{N} }{\rho + z_{N}^{T} P_{N-1}... 2021.10.11 MATLAB/simulink制御工学
MATLAB/simulink インボリュート曲線を描く 歯車の設計にはインボリュート曲線が使われる。今回は基礎円とそこから延びるインボリュート曲線を描く。 インボリュート曲線とは円柱に巻き付けられた糸を撓ませることなく引き出した時、糸の先端がたどる軌跡を示す曲線を言う。 媒介変数を用いて \be... 2021.10.09 MATLAB/simulinkプログラミング機械