えちえち☆だんせーき!アニメ大好き社会人のロコリンのブログ。2015年卒(修士)の社会人。学生時代(2010年)から続けてるブログなのでエントリによっては学生ブログと社会人ブログになっています。時系列から察して。
|
|||||||||||||||||
|
|||||||||||||||||
このブログについて
ブログ内検索
カテゴリ
プロフィール
外部リンク
Twitter
|
一部の民間企業で一般常識試験を課すことと、公務員の一次試験に教養試験があることから、文系のことも勉強しなければなりません(◞‸◟) 四字熟語とか知らないですし。「一転攻勢」は四字熟語じゃなくて淫夢語録だってはっきりわかんだね(あえて四字熟語にするなら「形勢逆転」)。
ところで、四字熟語は民間企業の一般常識対策本を見て勉強したけど、公務員の教養試験に四字熟語って出るのかな? 明日対策本を買うのでちょっと不安。(追記) どうやら大卒の教養試験では出ないようです\(^o^)/ (さらに追記) 国家III種では出るようです。 文章の時系列が狂うけど、一昨日ご注文はうさぎですか?1巻を買いました。初めて漫画を新品で買ったので、たぶんすごい記念の1冊になるかと。 昔 (2011年),独学 (Wikipedia) で4元数について触れてみたのですが,除算を定義するために乗法逆元を求めようとして,挫折しました。当時やった方法は,複素数みたいに逆数を有理化する方法を取ろうとしたのですが,複雑すぎてできませんでした。 しかし,今日 (2013年7月3日) 授業で 3D の回転を表現するために4元数について軽く触れ,昔の疑問があっという間に解決してしまいましたww 複素数の逆元4元数の前に複素数をおさらいします。 \(i^{2} = -1\) となる \(i\) を導入して,\(x, y \in \mathbb{R}\) を用いて複素数 \(z \in \mathbb{C}\) を次のように定義できます。 \[z = x+iy\]
これの共役複素数 \(\overline{z}\) を次のように定義します。 \[\overline{z} = x-iy\]
\(z\) のノルム \(\left|z\right|\) を次のように定義します。 \[\left|z\right| = \sqrt{x^{2}+y^{2}}\]
これらから次式が求まります。(証明略。) \[z\overline{z} = \overline{z}z = \left|z\right|^{2}\]
\[\therefore\ z^{-1} = \frac{1}{z} = \frac{\overline{z}}{\left|z\right|^{2}}\]
4元数の逆元複素数の次は4元数です(3元数は糞だからイラネ)。次のような \(i, j, k\) を定義します。 \[i^{2} = j^{2} = k^{2} = -1\]
\[ij = k, jk = i, ki = j\]
このような \(i, j, k\) は次のような性質を持ち,乗算に関して可換ではありません。(証明は自分でやれ。) \[ji = -ij, kj = -jk, ik = -ki, ijk = -1\]
これらの \(i, j, k\) を用いて,4元数 \(q \in \mathbb{H}\) を次のように定義します。(\(w,x,y,z \in \mathbb{R}\)) \[q = w+ix+jy+kz\]
共役4元数 \(\overline{q}\) を次のように定義します。 \[\overline{q} = w-ix-jy-kz\]
\(q\) のノルム \(\left|q\right|\) を次のように定義します。 \[\left|q\right| = \sqrt{w^{2}+x^{2}+y^{2}+z^{2}}\]
これらから次式が求まります。(証明略。) \[q\overline{q} = \overline{q}q = \left|q\right|^{2}\]
\[\therefore\ q^{-1} = \frac{1}{q} = \frac{\overline{q}}{\left|q\right|^{2}}\]
へぇ。 2次元 (複素数) の回転ついでなので回転についてもメモします。 2次元の点 \(P(x,y)\) を原点中心に角度 \(\theta\) 回転した点を \(P'(x',y')\) とします。\(P\) を複素数 \(p = x+iy\),\(P'\) を \(p' = x'+iy'\) に対応させ,次の乗算で2次元の回転を表せます。 \[p' = zp\]
ここで \[z = e^{i\theta} = \cos\theta+i\sin\theta\]
3次元 (4元数) の回転3次元の回転を表すのに4元数が使えます。(理由は知りたきゃググれ。) 3次元の点 \(P(x,y,z)\) を回転した点を \(P'(x',y',z')\) とします。\(P\) を4元数 \(p = w+ix+jy+kz\),\(P'\) を \(p' = w'+ix'+jy'+kz'\) に対応させます。\(w, w'\) は任意の実数ですが,\(w = w' = 0\) とすると計算が楽です。次の乗算で3次元の回転を表せます。 \[p' = qpq^{-1}\]
ここで \[q = \cos\frac{\theta}{2}+(ia+jb+kc)\sin\frac{\theta}{2}\]
\[a^{2}+b^{2}+c^{2} = 1\]
\(\boldsymbol{v} = (a,b,c)\) は回転軸で,\(\theta\) は回転角です。なお,\(\left|q\right|^{2} = 1\) なので \(q^{-1} = \overline{q}\) になります。 思ったこと独学するより授業で習ったほうが早いのウケるww でも社会に出たら授業なんて受けられないんですよね…(◞‸◟) とりあえず少しずつ電気系の勉強もしてみようかなと。役に立つ日が来るかはわからないですけれど。とりあえず、プリキュア・ピースサンダー! 1 Δ-Y変換・Y-Δ変換Δ-Y変換・Y-Δ変換とは、電気回路の一部を等価回路に変換する手法の1つです。Δ字形の回路とY字形回路の間で変換することからこのような名前がついています。なお、Δ形は三角、Y形は星形とも呼ばれます。 このような変換は複雑な回路網の解析に役立ちます。そのままだと解析が難しい回路が簡単に解析できる回路になる場合があります。 この記事では導出を省略し、変換式だけをまとめます。導出については参考文献[1]をご覧ください。 1.1 Δ-Y変換Δ形回路→Y形回路への変換 \[Z_{1} = \frac{z_{2}z_{3}}{z_{1}+z_{2}+z_{3}}\]
\[Z_{2} = \frac{z_{3}z_{1}}{z_{1}+z_{2}+z_{3}}\]
\[Z_{3} = \frac{z_{1}z_{2}}{z_{1}+z_{2}+z_{3}}\]
1.2 Y-Δ変換Y形回路→Δ形回路への変換 \[z_{1} = \frac{Z_{1}Z_{2}+Z_{2}Z_{3}+Z_{3}Z_{1}}{Z_{1}}\]
\[z_{2} = \frac{Z_{1}Z_{2}+Z_{2}Z_{3}+Z_{3}Z_{1}}{Z_{2}}\]
\[z_{3} = \frac{Z_{1}Z_{2}+Z_{2}Z_{3}+Z_{3}Z_{1}}{Z_{3}}\]
ここでアドミタンスとはインピーダンスの逆数のことです。 参考文献1 まえがきブログの更新間隔は忙しさに比例する法則 (←経験則)。5月からアルバイトを始め、さらに同じく5月から外国語の文献を講読してスライドにまとめる必修科目に追われ、それ以外のことを何もしていませんでしたorz 久々のブログ更新です。 そろそろ高速フーリエ変換 (FFT) の自前ライブラリを用意しないとなぁ…と思っていました。しかし、FFT の原理は正直言ってまだ完全には理解していません。そのため、「高速フーリエ変換 C++」でググってみたのですが、すぐに理想的な実装が見つかりました。 めでたしめでたし。なのですが、とりあえず私も実装してみたいなぁと思って実装してみました。といっても、ほとんど上記ブログの実装と変わりありません。ついにネタ切れで他者ブログのパクりに走ってしまいましたorz 丸パクりだと意味がないので、自分なりに機能を追加しています。イテレータとコピーコンストラクタに対応しただけですけど。 2 フーリエ変換2.1 フーリエ変換フーリエ変換とは、複素関数 (または実関数) から別の複素関数への変換です。関数 \(f: \mathbb{C} \to \mathbb{C}\) のフーリエ変換を \(F: \mathbb{C} \to \mathbb{C}\) とすると、フーリエ変換は次の積分で表されます。ここで \(i^{2}=-1\) です。 \[F\left(\omega\right) = \int_{-\infty}^{\infty}f\left(t\right)e^{-i\omega t}dt\]
フーリエ変換には逆変換 (フーリエ逆変換) が存在し、次の積分によって \(F\left(\omega\right) \) から \(f\left(t\right)\) を得ることができます。 (例外はありますが細かいことは気にしない。) \[f\left(t\right) = \frac{1}{2\pi}\int_{-\infty}^{\infty}F\left(\omega\right)e^{i\omega t}d\omega\]
この演算にどんな意味があるかというと、例えば \(f\left(t\right)\) が時間 \(t\) の関数 (時系列信号) であれば、\(F\left(\omega\right)\) は角周波数 \(\omega\) の関数 (スペクトル) になります。 2.2 離散フーリエ変換離散フーリエ変換 (DFT) とは、離散信号に対して行うフーリエ変換みたいなものです。 時系列信号 \(f\left(t\right)\) のある時間区間 (半開区間) \(\left[t_{0}, t_{0}+\Delta t\right) = \left\{t \mid t_{0} \le t < t_{0}+\Delta t\right\}\) 内の \(N\) 点をサンプリングしたものを \(x_{n}\) とします (ここで \(n \in \left\{n \in \mathbb{N} \mid 0 \le n < N\right\}\))。 \[x_{n} = f\left(t_{0}+\frac{n}{N}\Delta t\right)\]
\(x_{n}\) の離散フーリエ変換 \(X_{k}\) は次のようになります (ここで \(k \in \left\{k \in \mathbb{N} \mid 0 \le k < N\right\}\))。 \[X_{k} = \sum_{n=0}^{N-1}x_{n}\exp\left(-i\frac{2\pi}{N}kn\right)\]
離散フーリエ逆変換 (IDFT) は次のようになります (ここで \(n \in \left\{n \in \mathbb{N} \mid 0 \le n < N\right\}\))。 \[x_{n} = \frac{1}{N}\sum_{k=0}^{N-1}X_{k}\exp\left(i\frac{2\pi}{N}kn\right)\]
2.3 高速フーリエ変換高速フーリエ変換 (FFT) とは、離散フーリエ変換 (DFT) を高速に計算するアルゴリズムです。DFT の計算量は \(O\left(N^{2}\right)\) となり、大きなデータに対しては非常に時間がかかります。FFT は計算手順を工夫することによって計算量を \(O\left(N\log N\right)\) に下げました。ただし、FFT においては、サンプル点数 \(N\) は 2 のべき乗に制限されます (\(N \in \left\{2^{n} \mid n \in \mathbb{N}\right\}\))。 ケーキ作りの手伝いでボウルを見ていたら幾何学についての自作問題を思いつきました。LaTeX で書いた PDF ファイルをうpしました。
なお、弧の記号を出す LaTeX コマンドは『弧ABを記号で表すTeXコマンド』 (よしいずの雑記帳さん) からお借りしました。 1 問題半径 \(r\) の円がある。この円の中心 \(O\) から半直線が 2 本伸びている。それぞれの半直線と円の交点をそれぞれ \(A\), \(B\) とする。鋭角 \(\angle AOB\) を \(\theta\) とする (\(0 < \theta < \pi\))。点 \(O\) から線分 \(\overline{AB}\) に垂線を引き、線分 \(\overline{AB}\) と垂線との交点を \(C\), 弧 \(\stackrel{\Large\mbox{$\frown$}}{AB}\) と垂線との交点を \(D\) とする。 (図1)
|
最新記事
最新コメント
FC2カウンター
欲しい
最近買ったもの
Amazon 検索
|
|||||||||||||||
copyright © 2008 えちえち☆だんせーき! all rights reserved.
Designed by チラシ広告作成ナビ
|