MATLAB/simulink 回転行列を微分する 回転行列の微分は外積因子を用いて \begin{align}\dot{\boldsymbol{R}}=\boldsymbol{R} \boldsymbol{S}(\boldsymbol{\omega})\end{align} ここで\(\o... 2022.03.18 MATLAB/simulinkプログラミング幾何数学
MATLAB/simulink MATLABで定義したヤコビアンを計算する関数を改造して逆回転を扱えるようにする あるベクトル2つのベクトルの関係がヤコビアンによって次のように与えられているとする。 \begin{align}\boldsymbol{y}= \boldsymbol{J} \boldsymbol{x}\end{align} この時逆問題は... 2022.03.18 MATLAB/simulinkプログラミング幾何数学
MATLAB/simulink MATLABで定義した回転行列を計算する関数を改造して逆回転を扱えるようにする あるベクトル2つのベクトルの関係が回転行列によって次のように与えられているとする。 \begin{align}\boldsymbol{y}= \boldsymbol{R} \boldsymbol{x}\end{align} この時逆問題は ... 2022.03.17 MATLAB/simulinkプログラミング幾何数学
MATLAB/simulink MATLABで状態空間モデルを離散化してシミュレーションする MATLABで状態空間モデルを離散化し、シミュレーションする。シミュレーションするモデルはバネマスダンパを用いる。連続時間モデル \begin{align}\dot{x}(t)&=Ax(t)+Bu(t)\\y&=Cx(t)\end{alig... 2022.03.15 MATLAB/simulinkプログラミング制御工学現代制御
MATLAB/simulink MATLABで回転行列を定義してオイラー角が複数あることを調べる 回転行列 \begin{align} \boldsymbol{R}_{x}(\boldsymbol{η}) = \begin{pmatrix} 1 & 0 & 0\\ 0 & \cos \phi & - \sin \phi \\0 & \s... 2022.03.15 MATLAB/simulinkプログラミング幾何数学
MATLAB/simulink MATLABで外積因子を定義する 外積は \begin{align}\boldsymbol{A} \times \boldsymbol{B}=\begin{vmatrix}\boldsymbol{i} & \boldsymbol{j} & \boldsymbol{k} \\... 2022.03.14 MATLAB/simulinkプログラミング幾何数学
MATLAB/simulink MATLABで回転行列とヤコビアンを一つの行列で表現して6自由度を扱えるようにする 剛体に固定された剛体座標系と地球上に固定されたグローバル座標系を考える。いまグローバル座標系上で定義される位置ベクトル \begin{align}\boldsymbol{\eta}=\begin{pmatrix}\boldsymbol{\e... 2022.03.14 MATLAB/simulinkプログラミング幾何数学
MATLAB/simulink MATLABで位置ベクトルと速度ベクトルを変換するための回転行列を定義する 剛体に固定された剛体座標系と地球上に固定されたグローバル座標系を考える。いまグローバル座標系上で定義される位置ベクトルと \begin{align}\boldsymbol{\eta}_1=\begin{pmatrix}x \\ y \\ z... 2022.03.14 MATLAB/simulinkプログラミング幾何数学
MATLAB/simulink MATLABで角度ベクトルと角速度ベクトルを変換するためのヤコビアンを定義する 剛体に固定された剛体座標系と地球上に固定されたグローバル座標系を考える。いまグローバル座標系上で定義されるオイラー角ベクトルと \begin{align}\boldsymbol{\eta_{2}}= \begin{pmatrix}\phi ... 2022.03.13 MATLAB/simulinkプログラミング幾何数学
MATLAB/simulink matlabで自作関数を定義してRadian-Degree相互変換を行う Matlabで自作関数を作りRadian-Degree相互変換を行う。Radian-Degreeの相互関係は \begin{align}\theta = \frac{\theta }{180} \pi\end{align} を使えばいい。 ... 2022.03.13 MATLAB/simulinkプログラミング幾何数学
C/C++/C# C言語で素因数分解を実行する 素因数分解とは \begin{align}12=2 \times 2 \times 3\end{align} のように整数を素数の積で表すことである。C言語で実装すると次のようになる。 #include<stdio.h> void Prim... 2022.03.10 C/C++/C#プログラミング数学
C/C++/C# C言語でsprintfを使った文字列生成 sprintfを使うと文字列を生成できる。生成した文字列はcsvファイルへの書き出しで利用できる。 次のようにすると実装できる。勿論printf関数のように複数個の変数を扱うこともできる。 #define _CRT_SECURE_NO_WA... 2022.03.05 C/C++/C#プログラミング
C/C++/C# C言語でサイコロを実装して出目の平均を計算する C言語でサイコロを作り、出目の平均を計算する。\(N\)を変更すればサイコロを振る回数を変更できる。 #include<stdio.h> #include <stdlib.h> #define min 1 #define max 6 #de... 2022.03.02 C/C++/C#プログラミング数学確率・統計
MATLAB/simulink MATLABで共分散を計算する MATLABで共分散を求める。共分散は次のように求められる。 \begin{align}\mathrm{Cov} = E - \mu_x \mu_y\end{align} A=; B=; CovAB=(A*B')/length(A)-mea... 2022.02.05 MATLAB/simulinkプログラミング数学確率・統計
MATLAB/simulink MATLABで分散共分散行列を求める 分散共分散行列は \begin{align}\Sigma = E)] {}^{t} \! (X-E)]\end{align} で与えられる。MATLABでは A=; B=; C=; Data=; mu=mean(Data,2); sigma... 2022.02.02 MATLAB/simulinkプログラミング数学確率・統計
python Pythonでコサイン類似度を計算する コサイン類似度は各ベクトルの大きさの違いが無視できる場合に有効な評価方法である。2つのベクトルの内積 \begin{align}A \cdot B = ||A || \ ||B|| \cos \theta\end{align} より \be... 2022.01.21 pythonプログラミング幾何数学
python Himmelblau関数を描画する Himmelblau関数は最適化関数の性能を調査する場合によく利用される。Himmelblau関数は \begin{align}f(x,y)=(x^2+y-11)^2+(x+y^2-7)^2\end{align} で表される。 コード im... 2022.01.18 pythonプログラミング数学
python ローレンツ濃縮を計算する ローレンツ濃縮は \begin{align}L=L_0 \sqrt{1 - \frac{V^2}{c^2}}\end{align} で表される。速度が大きくなるにしたがって静止時の長さより短くなることが分かる。 import numpy a... 2022.01.15 pythonプログラミング物理
python 外部関数で定義された無限級数を計算する これの続き。無限級数の一般項を外部関数化して与えると次のようになる。 import numpy as np from matplotlib import pyplot as plt def func(n): return ((-1) ** ... 2022.01.05 pythonプログラミング数学解析
python 無限級数を計算する その1 次の無限級数を計算する。 \begin{align}\log 2 = \sum_{n=1}^{\infty} \frac{(-1)^{n-1}}{n}=1 -\frac{1}{2}+\frac{1}{3} -\frac{1}{4} \cdo... 2022.01.05 pythonプログラミング数学解析