0

私は次のモデルを持っています

clear all;
A1=24;
A2=23;
A3=23;
A4=23;
A5=10;
 f1=23;
 f2=43;
 f3= 10;
 f4=16;
 phi=2*pi*(rand(1,4)-0.5);
 t=0:0.01:2.93;
x=rand([1,length(t)]);
 y=A1.*sin(2*pi*f1*t+phi(1))+A2.*cos(2*pi*f1*t+phi(2))+A3.*sin(2*pi*f1*t+phi(3))+A4.*cos(2*pi*f1*t+phi(4))+A5.*x;

通常、このモデルは 4 つのピークを与えるはずですが、ピリオドグラムを使用した場合

>> [pxx,f]=periodogram(y,[],[],100);
>> plot(f,pxx)
>> 

しかし、私は次の写真を取得しています

ここに画像の説明を入力

私が得ることができない問題は何ですか、私を助けてください

4

1 に答える 1

0

正しいコードは次のとおりです。それは単なるタイプミスでした

clear all;
A1=24;
A2=23;
A3=23;
A4=23;
A5=10;
 f1=23;
 f2=43;
 f3= 10;
 f4=16;
 phi=2*pi*(rand(1,4)-0.5);
 t=0:0.01:2.93;
 k=1:1:294;
x=rand([1,length(t)]);
 y(k)=A1.*sin(2*pi*f1*t+phi(1))+A2.*cos(2*pi*f2*t+phi(2))+A3.*sin(2*pi*f3*t+phi(3))+A4.*cos(2*pi*f4*t+phi(4))+A5.*x;
 [pxx,f]=periodogram(y,[],[],100);
 plot(f,pxx)
于 2014-05-05T18:43:18.673 に答える