je suis en train de mettre en œuvre mon propre code pour plomb (parce que je n'ai pas matlab 2014b), voici mon codeimplémenter votre propre fonction plomb dans Matlab
function [PLS,f]=plomb(x,t);
diff=t(2)-t(1);
fs=1/diff;
x_mean=mean(x);
variance=var(x);
f=fs*(0:length(x)-1)/length(x);
part1=sum(((x-x_mean).*cos(2*pi*f*t)))^2/sum(cos(2*pi*f*t).^2);
part2=sum(((x-x_mean).*sin(2*pi*f*t)))^2/sum(sin(2*pi*f*t).^2);
PLS=(part1+part2)/(2*variance);
il est fait en utilisant l'aide de site suivant
http://www.mathworks.com/help/signal/ref/plomb.html?refresh=true
i ont testé ce code sur suivant signal sinusoïdal simple,
>> t=0:0.01:2.93;
>> x=sin(2*pi*10*t);
mais je me suis erreur
[PLS,f]=plomb(x,t);
Error using *
Inner matrix dimensions must agree.
Error in plomb (line 7)
part1=sum(((x-x_mean).*cos(2*pi*f*t)))^2/sum(cos(2*pi*f*t).^2);
i did not get point,what i am doing incorrectly?thanks in advance
ÉDITÉ:
je dois changer mon code à ce
for k=1:length(x)
part1(k)=sum(((x-x_mean).*cos(2*pi*f(k)*t)))^2/sum(cos(2*pi*f(k)*t).^2);
part2(k)=sum(((x-x_mean).*sin(2*pi*f(k)*t)))^2/sum(sin(2*pi*f(k)*t).^2);
PLS=(part1+part2)/(2*variance);
end
est-il correct?
Hahahah wow. Juste à côté de quelques secondes! – rayryeng
@rayryeng Ça arrive les jours de fous! ;) – Divakar
merci mon ami et qu'en est-il du décalage horaire? Qu'est-ce que c'est? Comment puis-je calculer? –