python

Pythonで三角関数のグラフを書く

pythonでグラフを書くにはmatplotlibを使えばいい。 今回のコードを試すには三角関数も使うのでnumpyも必要になる。 import numpy as np import matplotlib.pyplot as plt x =...
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") ...
システム同定

指定した応答を実現するようなシステムの設計法

指定した応答を実現するようなシステムを設計することを考える。システムを次で与える。 \begin{align} G&=\frac{ z^{-1} P(1) }{ P(z^{-1}) }\\P(z^{-1})&=1 + p_1 z^{-1} ...
幾何

ルービックキューブを題材にしたおもちゃルービックケージ

ルービックキューブを調べているとルービックケージなるものを見つけた。ルービックケージはルービックキューブのように遊べる〇×ゲームのようなもの。
MATLAB/simulink

MATLABの互換にはGNU Octaveがいいらしい

GNU Octaveを試してみる。フリーなので今ある記事も置き換える予定。
MATLAB/simulink

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

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

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

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

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

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

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

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

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{a...
制御工学

双一次変換とパデ近似

\(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~...
プログラミング

ESP32でMCP23017を使う

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

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

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

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

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

承認と許可の違い

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

C言語で漸化式を解く

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

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

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

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

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