幾何

幾何

正五角形の対角線の長さ

正五角形の1辺の長さを1とすると正五角形の対角線の長さ\(a\)は余弦定理より \begin{align}a^2&=1^2 + 1^2 - 2 \times 1 \times 1 \times \cos 108\\&= 2 - 2 \tim...
幾何

合同数とは

3辺の辺の長さが有理数であるような直角三角形の面積を合同数という。 例: 底辺を\(\frac{3}{2}\)、高さを\(\frac{20}{3}\)とすると斜辺は \begin{align}c&=\sqrt{\left ( \frac{3...
幾何

集合の分配律 1

集合の演算において、次の分配率が成り立つ。 \begin{align}A \cup (B \cap C)\end{align} 証明 \begin{align}x \in A \cup (B \cap C) & \Leftrightarro...
MATLAB/simulink

三角関数の近似式 2

十分小さい正の角度\(\theta\)について、\(\cos \theta\)は\(\tan \theta \)を用いて \begin{align}\cos \theta \approx 1 - \frac{\tan^2 \theta}{2...
MATLAB/simulink

三角関数の近似式

十分小さい正の角度\(\theta\)について、\(\tan \theta\)は\(\cos \theta \)を用いて \begin{align}\tan \theta \approx \sqrt{2(1- \cos\theta)} \e...
C/C++/C#

C++で回転行列を計算する

angleとaxisを指定すれば計算できる。 #define _USE_MATH_DEFINES #include <iostream> #include <cmath> void getRotationMatrix(double angl...
MATLAB/simulink

MATLABでL0ノルムを求める

L0ノルムの定義 \begin{align}L_0=\sum_{i=1}^n\delta(x_i),\quad \delta(x_i)=\begin{cases}1\hspace{5mm} (x_i \neq 0)\\0\hspace{5m...
幾何

L0ノルムとは

ベクトル内の非ゼロ要素の数を表すノルムで \begin{align}L_0=\sum_{i=1}^n\delta(x_i),\quad \delta(x_i)=\begin{cases}1\hspace{5mm} (x_i \neq 0)\...
幾何

三角不等式の証明

任意の実数\(a,b\)について \begin{align}|a+b| \leq |a| + |b|\end{align} の三角不等式が成り立つ。 証明 両辺ともに正であるので、二乗の差を考えて \begin{align}(|a| + |...
幾何

ピタゴラス数と原始ピタゴラス数とは

ピタゴラスの定理 \begin{align}x^2+y^2=z^2\end{align} について\(x,y,z\)が整数であるときピタゴラス数という。また、\(x,y,z\)が互いに素であるとき原始ピタゴラス数という。 例: ピタゴラス数...
C/C++/C#

C++で2点間の距離を計算する

三次元平面上に置かれた二点 \(P_{1}(x_{1},y_{1},z_{1}),P_{2}(x_{2},y_{2},z_{2})\) 間の距離\(d(P_{1},P_{2})\)は \begin{align}d(P_{1},P_{2})=...
C/C++/C#

C++でラマヌジャンの公式を使った円周率計算をする

詳しくはここ C++で書く。Pythonとは違い大きな数を扱えないので注意。 #include<iostream> #include<math.h> int factorial(int); int main() { int N = 1; d...
C/C++/C#

C++で内積を計算する

内積についてはここ。 cinで数値を入力した後、各ベクトルの数値を配列に入れて内積を計算する。 結果 データ数を入力 ->3 x0->2 x1->4 x2->3 w0->1 w1->3 w2->5 2×1=2 4×3=12 3×5=15 結...
python

名前の分からない式で円周率の計算をする

円周率計算をする。今回はこの式 \begin{align}\prod_{n=1}^{\infty} \frac{n^2+n}{n^2+n+0.25}=\frac{\pi}{4}\end{align} で計算する。以下コード。 import ...
幾何

弧度法と相互変換

\(1^\circ\)は弧度法で \begin{align}1^\circ=\frac{\pi}{180} \mathrm{radian}\end{align}
幾何

ヘロンの公式を導出する

底辺\(a\)高さ\(h\)の三角形の面積は \begin{align}S = \frac{1}{2} ah\end{align} 三角関数を使って整理すれば \begin{align}S&=\frac{1}{2}ab\sin C\\&=\...
python

【幾何】ラマヌジャンの公式を使った円周率計算 その2

ラマヌジャンの円周率公式を使って円周率を計算する。式は次の通り。 \begin{align}\frac{4}{\pi} = \sum_{i=0}^{\infty} \frac{(-1)^n (4n)! (1123+21460n)}{882^...
python

【幾何】ラマヌジャンの公式を使った円周率計算 その1

ラマヌジャンの円周率公式を使って円周率を計算する。式は次の通り。 \begin{align}\frac{1}{\pi} = \frac{2 \sqrt{2}}{99^2} \sum_{i=0}^{\infty} \frac{(4n)!(11...
C/C++/C#

【C言語】再帰呼び出しでユークリッド距離を計算する

ユークリッド距離を再帰呼び出しで計算する。前回と同様に2つのベクトル\(A,B\)の距離は \begin{align}d=\sqrt{(a_1 - b_1)^2+(a_2 - b_2)^2 + \cdots +(a_{n-1} - b_{n...
C/C++/C#

【C言語】ユークリッド距離を計算する

2つのベクトル\(A,B\)の距離は \begin{align}d=\sqrt{(a_1 - b_1)^2+(a_2 - b_2)^2 + \cdots +(a_{n-1} - b_{n-1})^2+(a_n - b_n)^2}\end{a...