しろねこ

python

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

単層パーセプトロンを使ってORを作る。ORはABX000011101111import mylibprint(mylib.OR(0,0))print(mylib.OR(0,1))print(mylib.OR(1,0))print(mylib...
ディジタル制御

双一次変換を使って一次遅れ系の伝達関数を離散化する

一次遅れ系の伝達関数\begin{align}G(s)=\frac{K}{Ts+1}\end{align} を双一次変換で離散化する。\(s\)に \begin{align}s=\frac{2(1-z^{-1})}{ T_{s} (1+z^...
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 )^2...
MATLAB/simulink

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

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

簡単な場合の最小二乗法

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

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

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

オペアンプを使って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)) { printf...
MATLAB/simulink

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

MATLABを使うときよく言われるのは「for文は遅い」だと思う。今回は2021aでその速度を調べた。使用したソースコードN=100000000;A1=1:1:N;A2=1:1:N;B1=zeros(1,N);ticfor i=1:1:NB...
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, Fizz Bu...
プログラミング

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の値に関係なく処理が行われてしまう。また逆にif...
C/C++/C#

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

正多角形の内角の一つ分の大きさは\begin{align}\theta_{n} = \frac{180(n-2)}{n}\end{align} なので一つ分の外角は\begin{align}\theta_{n} = 180 -\frac{1...
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シリーズやロイヤル英文法シリーズなどがあり、ほかにもたくさん出版されています。が、私はちょっと面白くなくてこれらの本では英語力があまり伸びませんでした。もともとアニメをよく見ることもあり、日本のアニメ...