メインコンテンツ

欠損サンプルのあるデータ セットのピリオドグラム

1610 年の冬の間、ガリレオ・ガリレイは木星で最大の 4 つの衛星の動きを観察しました。ガリレオは天候が許す限り衛星の位置を記録しました。この観察記録を使用して衛星の 1 つであるカリストの軌道周期を推定します。

カリストの角度位置は分角で測定されています。曇天などの気象条件によって記録できなかったデータは、NaN を使用して指定されます。最初の観察日は 1 月 15 日です。観測時間の datetime 配列を生成します。

yg = [10.5 NaN 11.5 10.5 NaN NaN NaN -5.5 -10.0 -12.0 -11.5 -12.0 -7.5 ...
    NaN NaN NaN NaN 8.5 12.5 12.5 10.5 NaN NaN NaN -6.0 -11.5 -12.5 ...
    -12.5 -10.5 -6.5 NaN 2.0 8.5 10.5 NaN 13.5 NaN 10.5 NaN NaN NaN ...
    -8.5 -10.5 -10.5 -10.0 -8.0]';

obsv = datetime(1610,1,14+(1:length(yg)));

plot(yg,'o')

ax = gca;
nights = [1 18 32 46];
ax.XTick = nights;
ax.XTickLabel = char(obsv(nights));
grid

Figure contains an axes object. The axes contains a line object which displays its values using only markers.

plomb を使用してデータのパワー スペクトルを推定します。オーバーサンプリング係数を 10 に指定します。結果の周波数を 1 日の秒数の逆数で表します。

[pxx,f] = plomb(yg,obsv,[],10,'power');
f = f*86400;

findpeaks を使用してスペクトルのピークで目立つもののみについて位置を特定します。パワー スペクトルをプロットして、ピークを表示します。

[pk,f0] = findpeaks(pxx,f,'MinPeakHeight',10);

plot(f,pxx,f0,pk,'o')
xlabel('Frequency (day^{-1})')
title('Power Spectrum and Prominent Peak')
grid

Figure contains an axes object. The axes object with title Power Spectrum and Prominent Peak, xlabel Frequency (day toThePowerOf - 1 baseline ) contains 2 objects of type line. One or more of the lines displays its values using only markers

カリストの軌道周期 (日単位) を最大エネルギーの周波数の逆数として求めます。その結果と NASA の公表値との差は 1% 未満です。

Period = 1/f0
Period = 
16.6454
NASA = 16.6890184;
PercentDiscrep = (Period-NASA)/NASA*100
PercentDiscrep = 
-0.2613

参考

|