Borrar filtros
Borrar filtros

I want to Fourier transform the 'y' function using Euler's formulas.

1 visualización (últimos 30 días)
'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.

Respuesta aceptada

Mathieu NOE
Mathieu NOE el 1 de Dic. de 2023
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 comentario
Dyuman Joshi
Dyuman Joshi el 1 de Dic. de 2023
This one is duplicate of the question I linked. And it would be better if all discussion was on a single thread.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Surface and Mesh Plots en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by