How to get a period of cosinus function ?
4 次查看(过去 30 天)
显示 更早的评论
Hi,
I have to find the period of the cosinus function using only the vector time and the vector data of the function.
2 个评论
Rik
2020-5-25
This looks like the sum of two cosines, not just one. Do you want the cosine with the largest magnitude? Are you allowed to use a Fourrier transform?
采纳的回答
Rik
2020-5-25
编辑:Rik
2020-5-25
Because this is homework, I won't provide a copy-paste ready solution.
If you follow the example from the documentation for fft, you get the code below.
%recreate data
delta_t=0.1;Tlim=5;f=[1;2];
t=0:delta_t:Tlim;
x=sum(cos(2*pi*t.*f));
%figure(1),clf(1)
%plot(t,x)
Fs=1/mean(diff(t));%sampling frequency
L=numel(x);
Y = fft(x);
P2 = abs(Y/L);
P1 = P2(1:floor(L/2)+1);
f = Fs*(0:(L/2))/L;
figure(1),clf(1)
plot(f,P1,'-*')
title('Fourrier transform'),xlabel('frequency'),ylabel('magnitude')
Now you can clearly see there are two frequencies that have a high magnitude.
3 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!