I want to Fourier transform the 'y' function using Euler's formulas.
조회 수: 1 (최근 30일)
이전 댓글 표시
'y' is
x = [-pi:pi/10:pi];
sum=0;
y1=0;
for k=1:100
y1=(((cos(k*pi)-1).*cos(k*x))./(-pi*(k^2)));
sum=sum +y1;
end
y=sum+pi/2;
figure(1)
plot(x,y)
axis([-4 4 0.5 2.7])
I want to Fourier transform the 'y' function using Euler's formulas.
One cycle is 2pi. I'm not sure how to express this in Matlab. I need help.
댓글 수: 0
채택된 답변
Mathieu NOE
2023년 12월 1일
here you are my friend :
clc
x = [-pi:pi/10:pi];
sum=0;
y1=0;
for k=1:100
y1=(((cos(k*pi)-1).*cos(k*x))./(-pi*(k^2)));
sum=sum +y1;
end
y=sum+pi/2;
% fourier series
a0 = trapz(x,y)/(2*pi);
m = 8;
for n = 1:m
a(n) = trapz(x,y.*cos(n*x))/pi;
b(n) = trapz(x,y.*sin(n*x))/pi;
end
% let's prove the fourier sum approximate y
yf = a0;
for n = 1:m
yf = yf + a(n)*cos(n*x) + b(n)*sin(n*x);
end
figure(1)
plot(x,y,'b',x,yf,'*--r')
axis([-4 4 0.5 2.7])
댓글 수: 1
Dyuman Joshi
2023년 12월 1일
@Mathieu NOE - A request from me, would you please shift your answer to this thread? https://in.mathworks.com/matlabcentral/answers/2054864-incorrect-number-or-types-of-inputs-or-outputs-for-function-int
This one is duplicate of the question I linked. And it would be better if all discussion was on a single thread.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!