伊達
>>
応用数学2
>>
課題一覧
>>
課題 Q and A
octave 操作関連
octave: > angle (1+i) # i は複素数. j でもよい. ans = 0.78540 octave: > arg (1+j) # arg でも同じ. 偏角. ans = 0.78540 octave: > angle (2+i) ans = 0.46365 octave: > help angle # オンラインマニュアル octave: > real (2+j) # 実部を取り出す. ans = 2 octave: > imag (2+j*3) # 虚部を取り出す. ans = 3
octave: > a = [ 1 2 3 ] a = 1 2 3 octave: > b = a .*a # 演算子の前に . を付けておくと,要素ごとに演算する b = 1 4 9C_k は複素数なので注意が必要. 掛け算する一方を複素共役としておく.
octave:23> a = [ 1+i 2-i 3-2i ] a = 1 + 1i 2 - 1i 3 - 2i octave: > b = a .*conj(a) b = 2 5 13パワースペクトルは,振幅スペクトルの2乗なので,別の方法もある.
octave: > c = abs(a) # これが振幅スペクトル c = 1.4142 2.2361 3.6056 octave: > c = c .*c c = 2.0000 5.0000 13.0000
octave: > t = linspace (0, 3, 256); # 時間軸 octave: > w = linspace (1, 256, 256); # 周波数軸 octave: > a = sin(2*pi*t); # 時間データ octave: > b = fft (a); # 周波数データ octave: > plot ( w, abs(b) ) # 振幅スペクトル (線グラフ) octave: > [xb, yb] = bar (w, b); # 詳細は help bar として下さい. octave: > plot(xb, yb) # 棒グラフ表示 octave: > plot(yb, xb) # 横棒のグラフ
原因調査中です. 再現できるようであれば,実行したコマンドの履歴を教えてください.
数学関連
A. 振幅スペクトル | F(ω)| の2乗です. 振幅スペクトルは f(t) をフーリエ変換した F(ω) の絶対値です. F(ω) はf(t) に含まれる,周波数 ω の成分です. グラフに描く場合,横軸がω(実数)で縦軸は F(ω) (複素数) になります. そのままだと,3次元中に一本線が漂うことになるので分かりにくい. 2次元のグラフ2枚で同じことが表現できます. |F(ω)|の値が大きい場合, log |F(ω)| をプロットする場合があります.
A. フーリエ変換する信号 f(t) が実数値しかもたない場合は,必ず C_k と C_{-k} は複素共役になります.
教科書の数式を追いかけてみてください.
A .信号 f(t) が実数値しかもたない場合は,C_k と C_{-k} が複素共役になることが分かっているので,
半分は計算しなくてもよくなります.
A. 周期 T を無限大にする以外は同じと思っていいです.