python 単層パーセプトロンを使ってANDを作る 単層パーセプトロンを使ってANDを作る。ANDは ABX000010100111 となるような演算である。一方で単層パーセプトロンとはそれぞれの入力\(x\)に重み \( w \) を乗じて和をとったもので \begin{align}y=\... 2021.10.06 pythonプログラミング機械学習
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... 2021.10.04 C/C++/C#プログラミング
MATLAB/simulink MATLAB2021aにおけるfor文の計算速度 MATLABを使うときよく言われるのは「for文は遅い」だと思う。今回は2021aでその速度を調べた。 使用したソースコード N=100000000; A1=1:1:N; A2=1:1:N; B1=zeros(1,N); tic for i... 2021.10.03 MATLAB/simulinkプログラミング
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... 2021.09.29 MATLAB/simulinkプログラミング
C/C++/C# if文で予期しないエラーを出さないために 定数比較するときif文を使う場合が多い。一般的なif文の構文は if (num == 3) { //処理 } である。もしこの文を書き間違え if (num = 3) { //処理 } としたとき、numの値に関係なく処理が行われてしまう。... 2021.09.21 C/C++/C#プログラミング
C/C++/C# 正多角形の外角の和と一つの角度の値を返すプログラムを作る 正多角形の内角の一つ分の大きさは \begin{align}\theta_{n} = \frac{180(n-2)}{n}\end{align} なので一つ分の外角は \begin{align}\theta_{n} = 180 -\frac... 2021.09.21 C/C++/C#プログラミング数学
C/C++/C# 正多角形の内角の和と一つの角度の値を返すプログラムを作る 正多角形の内角の和は \begin{align}\theta_o = 180(n-2)\end{align} 一つ分は \begin{align}\theta_{n} = \frac{180(n-2)}{n}\end{align} 大きくす... 2021.09.21 C/C++/C#数学
MATLAB/simulink 離散システムのボード線図を書く \begin{align}G=\frac{1}{s+1}\end{align} を離散化する。c2dで離散化すると伝達関数は \begin{align}G=\frac{0.00995}{z-0.99}\end{align} となる。離散シス... 2021.09.11 MATLAB/simulinkプログラミング制御工学古典制御
C/C++/C# コラッツ予想を拡張する 前回の記事で触れたコラッツ予想を負の数を扱えるよう拡張する。 負の数でやろうとすると循環してしまい無限ループとなるので上限繰り返し数を設けた。上限繰り返し数は #define MAX 10 で定めている。たとえばこのプログラムに\(-5\)... 2021.09.07 C/C++/C#プログラミング数学
C/C++/C# コラッツ予想を試す コラッツ予想は初めに任意の正の整数\(n\)を定めこれを \(n\)が偶数の時 \begin{align}n=\frac{n}{2}\end{align} \(n\) が奇数の場合、 \begin{align}n=3n+1\end{alig... 2021.09.05 C/C++/C#数学
MATLAB/simulink フェルマーの小定理をMATLABで計算してみる フェルマーの小定理は\(p\)が素数、\(a\)を\(p\)の倍数でない整数とすると \begin{align}a^{p-1} \equiv 1 \pmod{p}\end{align} が成り立つというものである。\(\mathrm{mod... 2021.08.24 MATLAB/simulinkプログラミング数学
MATLAB/simulink フェルマーの最終定理をMATLABで計算してみる フェルマーの最終定理とは \begin{align}z^n=x^n+y^n (n>2)\end{align} を満たす自然数の組は存在しないというものである。\(n=2\)の場合はピタゴラスの定理となり解が存在する。この場合の解は直角三角形... 2021.08.23 MATLAB/simulink代数数学
C/C++/C# C言語で順列と組合せを計算する これのつづき。階乗を定義したので、順列と組み合わせを計算する。順列と組合せは \begin{align}\mathrm{{}_{n} C_r} &= \frac{n!}{ r!(n - r)!} \\\mathrm{{}_{n}P_r} &... 2021.08.10 C/C++/C#プログラミング数学
C/C++/C# C言語で階乗を計算する 関数を定義して階乗を計算する。numに計算したい階乗\(n!\)の \(n\) を設定する。大きな数を使う場合はlong intなどを使えばいい。 int factorial(int num) { int i, fact = 1; for ... 2021.08.09 C/C++/C#プログラミング数学
MATLAB/simulink MATLABを使って完全数を探す 完全数とは自身の約数の和が自身の二倍になるような整数のことである。例えば\(6\)は \begin{align}1+2+3+6=2\times 6\end{align} となり完全数である。今回はこれをMATKLABを使って探索する。 コー... 2021.08.04 MATLAB/simulinkプログラミング数学
MATLAB/simulink Sherman–Morrison–Woodburyの公式をMATLABで計算する Sherman–Morrison–Woodburyの公式とは \begin{align}(A+BDC)^{−1}=A^{−1}−A^{−1} B (D^{−1}+CA^{−1}B)^{−1} CA^{−1}\end{align} である。今... 2021.08.02 MATLAB/simulinkプログラミング代数数学
MATLAB/simulink Ziegler-Nicholsの限界感度法を用いたPIDゲインを調整法 PID制御器をZiegler-Nicholsの限界感度法を用いて調整する。限界感度法は1時遅れ系+むだ時間もしくは積分系むだ時間の時有効となる手法である。 まず、simulinkで次のような 1時遅れ系+むだ時間のPID制御モデルを作成する... 2021.08.01 MATLAB/simulinkプログラミング制御工学古典制御
MATLAB/simulink MATLABを使って行列の指数関数を計算 MATLABを使って前回の記事で考察した行列の指数関数を計算する。簡単に復習をすると行列の指数関数は \begin{align} e^A=\sum_{k=0}^{\infty}\frac{(P^{-1} A P)^k}{k!}=P^{-1}... 2021.07.30 MATLAB/simulinkプログラミング制御工学
MATLAB/simulink simulinkでシミュレーションした結果をワークスペースに書き出してグラフを作成する simulinkでシミュレーションした結果のグラフをMATLABを使って出力する。 前回の記事のモデルにTo Workspaceブロックを次のように追加する。 このようにすればワークスペースにoutの構造体として格納されるので、MATLAB... 2021.07.27 MATLAB/simulinkプログラミング制御工学現代制御