MATLAB/simulink

逐次最小二乗法を使って二次遅れ系の伝達関数を推定する その2

前回の記事の続き前回と同様に逐次最小二乗法を用いて二次遅れ系の伝達関数\begin{align}G(s)=\frac{\omega_{n}^2 }{s^2 + 2 \zeta \omega_{n} s + \omega_{n}^2}\end...
MATLAB/simulink

逐次最小二乗法を使って二次遅れ系の伝達関数を推定する

逐次最小二乗法については前回の記事を参照。逐次最小二乗法を用いて二次遅れ系の伝達関数\begin{align}G(s)=\frac{\omega_{n}^2 }{s^2 + 2 \zeta \omega_{n} s + \omega_{n}...
C/C++/C#

二度漬けがバレると店のオヤジから怒られるプログラム

乱数を使って二度漬けして遊ぶプログラムを作りました。色々変えて遊んでみてください。#include <stdio.h>#include <stdlib.h>#include <time.h>char* scanstr(void) { cha...
C/C++/C#

C言語で複数の変数を返したい時

C言語では通常の関数の使い方ではreturnによって複数の変数を返すことはできない。こういう時はポインタを使えばうまくいく。#include <stdio.h>void test(int a, int* p1,int *p2);void m...
工作

ELEGOO製光造形用レジンのレビューとプリンターの設定

ELEGOO製光造形用レジンをQIDI Shadow 6.0でつかってみた。ひとつ前の QIDI Shadow 5.5でも使えると思う。 使った感じ匂いはきつめ。わりと臭い。アルコールでの洗浄はしやすく硬度も問題なかった。洗浄には燃料用アル...
制御工学

感度関数と相補感度関数

次のような制御器\(K(s)\)とプラント\(P(s)\)で構成されるフィードバックシステムを考える。この系の伝達関数は\begin{align}G (s) =\frac{P(s)K (s) }{1+P (s) K (s) }\end{al...
制御工学

双一次変換とパデ近似

\(s\)領域から\(z\)領域への変換はサンプリング時間を\(T\)とすると\begin{align}z &=e^{sT} \\ &=\frac{ e^{s T/2} }{e^{-s T/2 }}\end{align} ここで\( e^{...
電子回路

MCP23017を使ったマイコン用IO増設基板

MSP23017はマイコンのIOを増やすことができる。MCP23017はI2Cで接続されるが通信方式が異なる姉妹品もいくつか発売されているので他の通信方式がいい場合は個別に探してもらいたい。入力の電解コンデンサは通常省略可能である。A0~A...
プログラミング

ESP32でMCP23017を使う

MCP23017はI2Cで接続することができる。とりあえず動かすためには次のようなプログラムでいい。このプログラムを使えば入力、内部プルアップで動作し、シリアル通信で結果が送られてくる。#include <Wire.h>int DEVICE...
プログラミング

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

Arduino IDEでESP32を使ってるときにこんなエラーが出たrst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)configsip: 0, SPIWP:0xeeclk_drv:...
制御工学

RLCバンドパスフィルタの伝達関数

回路方程式が\begin{align}E _{I} =L\frac{di}{dt} + \frac{1}{C} \int i dt + Ri\end{align}のようなバンドパスフィルタを考える。いま出力が\begin{align}E_{...
電験

承認と許可の違い

電気工事士法第43条には自家用電気工作物を設置するものが「許可」を受けて主任技術者の免状を受けてないものを主任技術者に選任することができることが規定されている。電気法規にはたびたび「許可」と「承認」が出てくるので、法律用語としての違いをまと...
C/C++/C#

C言語で漸化式を解く

漸化式とは前回計算した値を使い今の値を計算するような式である。今回は簡単な漸化式\begin{align}a_n=a_{n-1}+b\end{align}の形をした漸化式をC言語で計算する。ソース#include "stdio.h"doub...
プログラミング

零次ホールドのボード線図

零次ホールドの伝達関数は\begin{align}H(s)=\frac{1-e^{-sT}}{s}\end{align}\(T=0.1\)でボード線図を書くと次のようになる。\(T\)を変化させるほどにゲインが下がる。これはサンプル&ホール...
制御工学

「制御基礎理論―古典から現代まで」を買いました

中野先生の本を買いました。・旧版・新版目次自動制御信号の伝達と伝達関数ブロック線図の構成要素ブロック線図の等価変換微分・積分要素のブロック線図等価変換の応用シグナルフロー線図ラプラス変換と自動制御ラプラス変換とラプラス変換表ラプラス逆変換と...
MATLAB/simulink

MATLABを使って零次ホールドを試す

matlabを使って零次ホールドを試す。対象のシステムは\begin{align}G=\frac{s}{1+s}\end{align} 零次ホールドは\begin{align}H=\dfrac{1-e^{-sT}}{s}\end{align...
ディジタル制御

システムの離散化と零次ホールド

D/Aなどにより現在の出力が次の出力に移るまでの出力は一定値に保持されるのがふつうである。これを零次ホールドという。零次ホールドの伝達関数は\(u(t)-u(t-1)\)に対応するようにすればよいので\begin{align}G(s)= \...
電験

今日は電気主任技術者試験の合格発表日

今日は合格発表日例年だと9時半頃発表されます。
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;x=a*...
python

classを使って単層パーセプトロンを定義しORを実装する

これの続き。単層パーセプトロンをclass定義して、動作確認にORを計算する。import mylibNN1 = mylib.NN()NN1.w1 = 0.5NN1.w2 = 0.5NN1.b = -0.2print(NN1.single_...