2011年9月9日 星期五

[自動轉寄] (raebmun) Re: [問題] 快速傅立葉轉換_頻率轉波長的定義

作者: chungyuandye (養花種魚數月亮賞星星)
標題: Re: [問題] 快速傅立葉轉換_頻率轉波長的定義
時間: Fri Sep 9 22:56:42 2011

※ 引述《raebmun (reversal)》之銘言:
: 最近從網路上看到利用mathematica作FFT的教學(內容與雷射脈衝有關)
: 照著上面作是可以得到預期結果
: 可是有個部分code看不懂 所以想請高手解惑
: 其中定義時間與頻率的部分:
: time = Table[(j - (num/2))*\[Delta]t, {j, 1, num}];
: freq = Table[(j - (num/2))*\[Delta]\[Omega], {j, 1, num}];
: absfreq = Table[freq[[j]] + \[Omega]0, {j, 1, num}];
: 接著我希望雷射強度跟波長有關 必須作頻率與波長的轉換
: 他是這樣寫的
: zp = Position[absfreq, _?(-0.001 < # < 0.001 &)][[1, 1]] + 1;
: wave = Reverse[
: Table[(2*Pi*c)/absfreq[[i]], {i, zp, Length[freq]}]];
: 在這裡zp的定義看不懂
: 我想我表達的不好 就附上這份檔案的連結網址
: http://ppt.cc/GLg_
: 謝謝各位耐心看完我的問題

Position[absfreq, _?(-0.001 < # < 0.001 &)][[1, 1]]

_ 這個意思是說 "哪些東西"的意思
? 有點類似條件

_?那些在正負0.01的東西

整行的白話文大概就是傳回那些在正負0.01的東西在absfreq這個序列中的位置

你也可以用下面這行指令試試

SortBy[Transpose@{Range[num], Abs@absfreq}, Last]

--
養花種魚數月亮賞星星

http://chungyuandye.twbbs.org


--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.232.230.45

沒有留言:

張貼留言