数学

python

Pythonで転置行列を計算する

行列の転置とは \begin{align}A=\begin{pmatrix} a & b \\ c & d\end{pmatrix}\end{align} の時 \begin{align} ^{t} \! A =\begin{pmatrix...
python

Pythonでテント写像を描画する

テント写像は \begin{align}x_{n+1} = 1-\left | 1 - 2 x_{n} \right |\end{align} import numpy as np from matplotlib import pyplot...
幾何

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

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

C言語で漸化式を解く

漸化式とは前回計算した値を使い今の値を計算するような式である。今回は簡単な漸化式 \begin{align}a_n=a_{n-1}+b\end{align} の形をした漸化式をC言語で計算する。 ソース #include "stdio.h"...
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...
数学

簡単な場合の最小二乗法

回帰式を \begin{align}\hat{y}=Ax+B\end{align} とする。残差の二乗和は \begin{align}J = \sum e_i^2 = \sum \{ y_i - (Ax_i + B) \}^2\end{al...
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} 大きくす...
C/C++/C#

コラッツ予想を拡張する

前回の記事で触れたコラッツ予想を負の数を扱えるよう拡張する。 負の数でやろうとすると循環してしまい無限ループとなるので上限繰り返し数を設けた。上限繰り返し数は #define MAX 10 で定めている。たとえばこのプログラムに\(-5\)...
C/C++/C#

コラッツ予想を試す

コラッツ予想は初めに任意の正の整数\(n\)を定めこれを \(n\)が偶数の時 \begin{align}n=\frac{n}{2}\end{align} \(n\) が奇数の場合、 \begin{align}n=3n+1\end{alig...
数学

6÷2(2+1)

先日気になってtwitterでも質問をした \begin{align}6 \div 2 (2+1)\end{align} の答えが1になるか9になるかという問題。 1になる場合は \begin{align}\frac{6}{2 \times...
MATLAB/simulink

フェルマーの小定理をMATLABで計算してみる

フェルマーの小定理は\(p\)が素数、\(a\)を\(p\)の倍数でない整数とすると \begin{align}a^{p-1} \equiv 1 \pmod{p}\end{align} が成り立つというものである。\(\mathrm{mod...
MATLAB/simulink

フェルマーの最終定理をMATLABで計算してみる

フェルマーの最終定理とは \begin{align}z^n=x^n+y^n (n>2)\end{align} を満たす自然数の組は存在しないというものである。\(n=2\)の場合はピタゴラスの定理となり解が存在する。この場合の解は直角三角形...
C/C++/C#

C言語で順列と組合せを計算する

これのつづき。階乗を定義したので、順列と組み合わせを計算する。順列と組合せは \begin{align}\mathrm{{}_{n} C_r} &= \frac{n!}{ r!(n - r)!} \\\mathrm{{}_{n}P_r} &...
C/C++/C#

C言語で階乗を計算する

関数を定義して階乗を計算する。numに計算したい階乗\(n!\)の \(n\) を設定する。大きな数を使う場合はlong intなどを使えばいい。 int factorial(int num) { int i, fact = 1; for ...
数学

累乗と階乗の0の解釈とグラフ

累乗と階乗の0についてグラフから考察する。まず累乗は \begin{align}f(x)=a^x\end{align} で定義される関数である。\(x^0\)について調べたいのでその他の値を求めれば \begin{align} f(2)&=...
MATLAB/simulink

MATLABを使って完全数を探す

完全数とは自身の約数の和が自身の二倍になるような整数のことである。例えば\(6\)は \begin{align}1+2+3+6=2\times 6\end{align} となり完全数である。今回はこれをMATKLABを使って探索する。 コー...
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} である。今...
数学

対数の底変換公式の導出

対数の底変換公式の導出する。はじめに \begin{align}b=a^{p}\end{align} として両辺の対数をとると \begin{align}\log_c b= p \log_c a\end{align} 整理して \begin...
代数

行列の指数関数の計算

とくに現代制御においては行列の指数関数を計算する場面が現れる。行列の指数関数は \begin{align} e^{A}, \exp A, \end{align} で表される。いま、行列の指数関数を \begin{align} e^A=\su...