如何将周期图结果输出到Mathematica中的列表?

时间:2015-01-25 00:17:45

标签: plot wolfram-mathematica fft

我有时域数据。在使用周期图进行离散傅里叶变换后,如何将图输出到列表中以进行进一步操作?

Periodogram[data[[All, 2]], SampleRate -> 3000000/0.01, GridLinesStyle -> Directive[Red, Dashed], PlotRange -> {{100000000 - 10000, 100000000 + 10000}, All}]

谢谢!

2 个答案:

答案 0 :(得分:1)

可以从List输出中根据Periodogram提取InputForm,如下所示。 (我们从一些补充数据开始。)

data = Table[2 Sin[0.2 \[Pi] n ] + Sin[0.5 \[Pi] n] + RandomReal[{-1, 1}], {n, 0, 127}];
plot = Periodogram[data, SampleRate -> 3000000/0.01, 
   GridLinesStyle -> Directive[Red, Dashed]];

接下来,我们使用Position在图中找到所需的数量并提取它们。

plot[[First@Position[plot, Line] /. {0 -> 1} /. List -> Sequence]]
(* {{0., -8.99487}, {2.38095*10^6, 1.60543}, {4.7619*10^6, 1.82102}, ... *)

答案 1 :(得分:0)

在这样的实例中通常有一个相关的函数。在这种情况下,PeriodogramArray输出数据。

data = Table[
   2 Sin[0.2 Pi n ] + Sin[0.5 Pi n] + RandomReal[{-1, 1}],
   {n, 0, 127}];

Periodogram[data]

enter image description here

magdata = PeriodogramArray[data];

ListLinePlot[10 Log[10, magdata], PlotRange -> {{0, Length[magdata]/2}, All}]

enter image description here