piecewise function Fourier seriers

9 visualizaciones (últimos 30 días)
KUN
KUN el 3 de Mzo. de 2024
Comentada: Paul el 3 de Mzo. de 2024
I want use matlab help to derive the Fourier series of a piecewise function. I write code like following:
syms t Vin Vout Dp Ds D T
assume(t>0);
Vp = piecewise( ...
t> 0 & t< Dp*T/2, Vin, ...
t> (Dp*T/2) & t< T/2,0, ...
t> T/2 & t< (1+Dp)*T/2, -Vin, ...
t> (1+Dp)*T/2 & t< T, 0)
Vpf = fourier(Vp)
assume(t,'clear');
and result is :
fourier(piecewise(t < (Dp*T)/2, Vin, t < T/2&(Dp*T)/2 < t, 0, t < (T*(Dp + 1))/2&T/2 < t, -Vin, t < T&(T*(Dp + 1))/2 < t, 0), t, w)
The result does not helpful for me.
  2 comentarios
Torsten
Torsten el 3 de Mzo. de 2024
Maybe assuming 0 < Dp < 1 can help.
KUN
KUN el 3 de Mzo. de 2024
Thank you for reminding me.

Iniciar sesión para comentar.

Respuestas (1)

Paul
Paul el 3 de Mzo. de 2024
Hi KUN,
In the context of the Fourier transform, I'm not sure that the assumption on t makes sense, at least not in the context of fourier.
IIRC, fourier doesn't like piecewise. Instead, form Vp with terms using rectangularPulse and then find the Fourier transform.
  2 comentarios
KUN
KUN el 3 de Mzo. de 2024
Thank you for your answer. I will try rectangularPulse.
Paul
Paul el 3 de Mzo. de 2024
Feel free to post back here with updated code if you still have trouble after trying rectangularPulse.

Iniciar sesión para comentar.

Categorías

Más información sobre Mathematics and Optimization 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