How can I plot the periodic function? please help

 Respuesta aceptada

Tg = 2900 * size(t);
tmod = mod(t, 0.1);
mask = tmod > 0.007;
Tg(mask) = A * exp(-B * tmod(mask));

3 comentarios

How could I plot this? I used plot(t,Tg), it showed this message:
Error using plot
Vectors must be the same length.
Torsten
Torsten el 7 de Jun. de 2019
Replace
Tg = 2900 * size(t);
by
Tg = 2900 * ones(size(t));
Thanks, Torsten and Walter Robinson.

Iniciar sesión para comentar.

Más respuestas (1)

mousa alsaeed
mousa alsaeed el 25 de Nov. de 2019
here is a code for a function that can give you the plot for any periodic function first thing you need to define a variable t as symbolic variable
syms t
second thing define your function
f = log(t)-t
the function needs a period and a specific number of cycles to draw your function in
T = 3; , N = 10;
here is the code for the function :
% done by mousa alsaeed
% email : mousa276alsaeed98@gmail.com
function periodic(fun,period,number_of_cycles)
fp = 0;
syms t
for i=0:number_of_cycles-1
fp = fp + subs(fun,t,(t-i*period))*(heaviside(t-i*period)-heaviside(t-(i+1)*period));
end
fplot(fp,[0 number_of_cycles*period])
grid on
title('the periodic function')
xlabel('t')
set(gca,'XMinorTick','On','YMinorTick','On');
end
here is what you gonna write on the commmand window :
periodic(f,T,N)
and here is the results :
3.png

3 comentarios

Nabeel Bakr
Nabeel Bakr el 21 de Jul. de 2020
Editada: Nabeel Bakr el 21 de Jul. de 2020
Dear Mr. Mousa Alsaeed,
My B.Sc. students are doing their B.Sc. graduation project about Fourier series using Matlab platform.
We came across your nicely written Matlab code which plots any periodic function.
We would be grateful if you kindly send us a modified version of your code so that it can plot the functions starting from the negative side of x-axis (i.e. from -N/2*T to N/2*T).
We plotted the function y=x^2 (T=2) and (N=3) using different procedure. (An image is attached).
But we would like to try your code.
With our best regards.
Stay Safe.
sorry for the delay
same inputs as before and here is the new code that plots periodic function to be symmetric around the y-axis (i.e. starts from -N/2*T to N/2*T)
% done by mousa alsaeed
% email : mousa276alsaeed98@gmail.com
function periodic(fun,period,number_of_cycles)
fp = 0;
syms t
for i= -number_of_cycles/2 : number_of_cycles/2
fp = fp + subs(fun,t,(t-(2*i+1)*0.5*period))*(heaviside(t-i*period)-heaviside(t-(i+1)*period));
end
fplot(fp,[(-number_of_cycles/2)*period (number_of_cycles/2)*period])
grid on
title('the periodic function')
xlabel('t')
set(gca,'XMinorTick','On','YMinorTick','On');
end
here is the results
Thank you very much for your help ... Regards

Iniciar sesión para comentar.

Categorías

Más información sobre Mathematics en Centro de ayuda y File Exchange.

Productos

Etiquetas

Preguntada:

el 6 de Jun. de 2019

Comentada:

el 5 de Ag. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by