C/C++/C# 【C言語】漸化式でフィボナッチ数列を定義する フィボナッチ数列は漸化式を使って次のように与えられる。\begin{align}F_0&=0\\F_1&=1\\F_{n+2}&=F_{n+1}+F_{n} (n \geq 0)\end{align}以下のコードで確かめられる。#inclu... 2022.04.05 C/C++/C#プログラミング数学解析
C/C++/C# 【C言語】フィボナッチ数列の10個の和と7番目の数との関係 連続するフィボナッチ数列の\(10\)個の和は\(7\)番目の数を\(11\)倍した数と一致する。\begin{align}\sum_{i=1}^{10} F_{n+i} = 11 \times F_{n+7}\end{align}以下のコ... 2022.04.04 C/C++/C#プログラミング数学解析
C/C++/C# 【C言語】フィボナッチ数列の性質 フィボナッチ数列には次の性質がある\begin{align}\sum_{i=1}^\infty \frac{F_i}{10^{i+1}} = \frac{1}{89}\end{align}以下のコードで確かめられる。#include <st... 2022.04.03 C/C++/C#プログラミング数学解析
C/C++/C# 【C言語】フィボナッチ数列の逆数和 フィボナッチ数列の逆数和を\begin{align}\psi=\sum_{i=1}^\infty \frac{1}{F_i} = 3.3498 \cdots\end{align}以下のコードで確かめられる。#include <stdio.h... 2022.04.03 C/C++/C#プログラミング数学解析
C/C++/C# 【C言語】フィボナッチ数列の性質を確かめる フィボナッチ数列には次のような特性がある。\begin{align}\lim_{n \to \infty } \frac{F_{n+1}}{F_n}= \phi = \frac{1 + \sqrt{5}}{2}\end{align}以下のコ... 2022.04.02 C/C++/C#プログラミング
C/C++/C# 【C言語】フィボナッチ数列を計算する フィボナッチ数列は\begin{align}F(n)&=\frac{\phi^n - (-\phi)^{-n}}{\sqrt{5}} \\\phi&=\frac{1+\sqrt{5}}{2}\end{align}で与えられる数列で、\beg... 2022.03.31 C/C++/C#プログラミング数学解析
C/C++/C# 【C言語】gnuplotでグラフを描く gnuplotを使ってグラフを描く。gnuplotはここからダウンロードすればいい。インストール先をC直下以外にする場合、GNUPLOT_PATHを変更する。以下サンプル#include <stdio.h>#include <stdlib.... 2022.03.28 C/C++/C#プログラミング
C/C++/C# 【C言語】Radian-Degree相互変換 C言語で自作関数を作りRadian-Degree相互変換を行う。Radian-Degreeの相互関係は\begin{align}\theta = \frac{\theta }{180} \pi\end{align}を使えばいい。#defin... 2022.03.25 C/C++/C#プログラミング幾何数学
MATLAB/simulink 【MATLAB】ヘロンの公式を実装する ヘロンの公式は三角形の三辺と面積とを結ぶ関係式で\begin{align}S=\sqrt{s(s-a)(s-b)(s-c)} \hspace{10mm} s=\frac{a+b+c}{2}\end{align}MATLABではfunctio... 2022.03.23 MATLAB/simulinkプログラミング幾何数学
MATLAB/simulink 【MATLAB】2つの座標間の角速度ベクトルの関係をクォータニオンを使って定義する 2つの座標間の角速度ベクトルをクォータニオンを使って表すと\begin{align}\dot{\boldsymbol{q}} = \boldsymbol{T}_q (\boldsymbol{q}) \boldsymbol{\omega}\e... 2022.03.20 MATLAB/simulinkプログラミング幾何数学
MATLAB/simulink 【MATLAB】クォータニオンと回転行列の相互変換を定義する 回転行列とクォータニオンは相互に変換することができる。いまクォータニオンが\(\boldsymbol{q} \in \mathbb{Q}\)と定義されているとすると回転行列とクォータニオンは\begin{align}\boldsymbol{... 2022.03.20 MATLAB/simulinkプログラミング幾何数学
C/C++/C# C言語で配列の長さを取得する sizeofを使えば配列の長さを自動取得できるようになる。 int A = { 1,2,3,4 }; int size = sizeof(A) / sizeof(int); printf("%d", size); 2022.03.20 C/C++/C#プログラミング
C/C++/C# C言語で配列の中身を表示する lenは配列の長さ、listを配列のポインタとすれば次のようにすれば表示できるようになる。void showVector( int len, int* list) { int i, index = 0; for (i = 0; i < le... 2022.03.20 C/C++/C#プログラミング
MATLAB/simulink 回転行列を微分する 回転行列の微分は外積因子を用いて\begin{align}\dot{\boldsymbol{R}}=\boldsymbol{R} \boldsymbol{S}(\boldsymbol{\omega})\end{align}ここで\(\ome... 2022.03.18 MATLAB/simulinkプログラミング幾何数学
MATLAB/simulink MATLABで定義したヤコビアンを計算する関数を改造して逆回転を扱えるようにする あるベクトル2つのベクトルの関係がヤコビアンによって次のように与えられているとする。\begin{align}\boldsymbol{y}= \boldsymbol{J} \boldsymbol{x}\end{align}この時逆問題は\b... 2022.03.18 MATLAB/simulinkプログラミング幾何数学
MATLAB/simulink MATLABで定義した回転行列を計算する関数を改造して逆回転を扱えるようにする あるベクトル2つのベクトルの関係が回転行列によって次のように与えられているとする。\begin{align}\boldsymbol{y}= \boldsymbol{R} \boldsymbol{x}\end{align}この時逆問題は\be... 2022.03.17 MATLAB/simulinkプログラミング幾何数学
MATLAB/simulink MATLABで状態空間モデルを離散化してシミュレーションする MATLABで状態空間モデルを離散化し、シミュレーションする。シミュレーションするモデルはバネマスダンパを用いる。連続時間モデル\begin{align}\dot{x}(t)&=Ax(t)+Bu(t)\\y&=Cx(t)\end{align... 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 & \si... 2022.03.15 MATLAB/simulinkプログラミング幾何数学
MATLAB/simulink MATLABで外積因子を定義する 外積は\begin{align}\boldsymbol{A} \times \boldsymbol{B}=\begin{vmatrix}\boldsymbol{i} & \boldsymbol{j} & \boldsymbol{k} \\A... 2022.03.14 MATLAB/simulinkプログラミング幾何数学
MATLAB/simulink MATLABで回転行列とヤコビアンを一つの行列で表現して6自由度を扱えるようにする 剛体に固定された剛体座標系と地球上に固定されたグローバル座標系を考える。いまグローバル座標系上で定義される位置ベクトル\begin{align}\boldsymbol{\eta}=\begin{pmatrix}\boldsymbol{\et... 2022.03.14 MATLAB/simulinkプログラミング幾何数学