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

忘却係数付き逐次最小二乗法

忘却係数付き逐次最小二乗法とは次のようなものである。 ・評価関数 \begin{align}J_{N}= \sum_{i=1}^{N} \rho^{N-i} \left ( y_{i} - z_{i}^{T} \theta \right )...
MATLAB/simulink

インボリュート曲線を描く

歯車の設計にはインボリュート曲線が使われる。今回は基礎円とそこから延びるインボリュート曲線を描く。 インボリュート曲線とは円柱に巻き付けられた糸を撓ませることなく引き出した時、糸の先端がたどる軌跡を示す曲線を言う。 媒介変数を用いて \be...
数学

簡単な場合の最小二乗法

回帰式を \begin{align}\hat{y}=Ax+B\end{align} とする。残差の二乗和は \begin{align}J = \sum e_i^2 = \sum \{ y_i - (Ax_i + B) \}^2\end{al...
python

単層パーセプトロンを使ってANDを作る

単層パーセプトロンを使ってANDを作る。ANDは ABX000010100111 となるような演算である。一方で単層パーセプトロンとはそれぞれの入力\(x\)に重み \( w \) を乗じて和をとったもので \begin{align}y=\...
制御工学

オペアンプを使ってPID制御器を作る #1

以前MATLABでPID制御をシミュレーションした。今回はアナログ電子回路でPID制御を実装する。 簡単に作る場合はオペアンプを用いればよく、かなり単純である。 次回以降理論を追いつつ設計する。
C/C++/C#

C言語でFizz Buzz

これの続き。 #include<stdio.h> int main() { int i, N = 36; for (i = 1; i <= N; i++) { if ((i % 3 == 0) && (i % 5 == 0)) { prin...
MATLAB/simulink

MATLAB2021aにおけるfor文の計算速度

MATLABを使うときよく言われるのは「for文は遅い」だと思う。今回は2021aでその速度を調べた。 使用したソースコード N=100000000; A1=1:1:N; A2=1:1:N; B1=zeros(1,N); tic for i...
MATLAB/simulink

MATLABでFizz Buzz

Fizz Buzzとは ・3の倍数→Fizz ・5の倍数→Buzz ・15の倍数→Fizz Buzz つまり 1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, Fi...
プログラミング

gitで直前のコミットを打ち消す

直前のコミットを打ち消すには git reset --hard HEAD^
ディジタル制御

「ディジタル制御理論入門 (システム制御情報ライブラリー)」を買ってみた

新しい本を買ってみた 目次1. 序 論 1.1 ディジタル制御系の基本構造とインパルス列による表現 1.2 制御系設計における視点のとり方と注意事項2. z変換 2.1 数列およびインピルス列のz変換 2.2 連続時間信号をサンプリングして...
C/C++/C#

if文で予期しないエラーを出さないために

定数比較するときif文を使う場合が多い。一般的なif文の構文は if (num == 3) { //処理 } である。もしこの文を書き間違え if (num = 3) { //処理 } としたとき、numの値に関係なく処理が行われてしまう。...
C/C++/C#

正多角形の外角の和と一つの角度の値を返すプログラムを作る

正多角形の内角の一つ分の大きさは \begin{align}\theta_{n} = \frac{180(n-2)}{n}\end{align} なので一つ分の外角は \begin{align}\theta_{n} = 180 -\frac...
C/C++/C#

正多角形の内角の和と一つの角度の値を返すプログラムを作る

正多角形の内角の和は \begin{align}\theta_o = 180(n-2)\end{align} 一つ分は \begin{align}\theta_{n} = \frac{180(n-2)}{n}\end{align} 大きくす...
電子回路

電子工作用の始め方【道具編】

電子工作を始めるにあたってあると便利なものをまとめました。 ・はんだこて 温度調整機能のあるものがあると便利。使わないときは先端をはんだで覆い、劣化を防ぎましょう。そうすると長く使えます。 ・はんだ そこそこのものなら正直なんでもいい。粗悪...
制御工学

Hammerstein型非線形モデル

Hammerstein型システムは非線形なシステムと線形なシステムとをカスケードに繋げたブロック志向型モデルの一つで次のように表される。遅れ演算子を\(q^{-1}\)とすると \begin{align}y(t) = G(q^{-1}) x...
制御工学

「高校数学でマスターする現代制御とディジタル制御―本質の理解からMat@Scilabによる実践まで」のレビュー

「高校数学でマスターする現代制御とディジタル制御―本質の理解からMat@Scilabによる実践まで」を読んだのでレビューしてみようかなと思います。 まずこの本の目次 Part I【わかる編】1. 現代制御を「わかる」1.1 状態空間表現によ...
英語

海外で発売されている日本のアニメを使って楽しく英語を勉強する

英語の勉強をするとき有名な参考書はDUOシリーズ やロイヤル英文法シリーズ などがあり、ほかにもたくさん出版されています。が、私はちょっと面白くなくてこれらの本では英語力があまり伸びませんでした。 もともとアニメをよく見ることもあり、日本の...
MATLAB/simulink

離散システムのボード線図を書く

\begin{align}G=\frac{1}{s+1}\end{align} を離散化する。c2dで離散化すると伝達関数は \begin{align}G=\frac{0.00995}{z-0.99}\end{align} となる。離散シス...
危険物取扱者

危険物取扱者乙種を受験してみる

電気主任技術者の勉強ばかりに飽きたので危険物取扱者を受けてみることにしました。甲種はいろいろと制限があるよう。詳しくはここ いずれ甲種をとりたいですが制限があって受けられないので、とりあえず危険物の8割をカバーしてるといわれる乙種第4類を受...