Effacer les filtres
Effacer les filtres

how to plot a periodic function fro negative to positive?

1 vue (au cours des 30 derniers jours)
Daniel Niu
Daniel Niu le 20 Oct 2022
Commenté : Sam Chak le 20 Oct 2022
Dear friend,
How to plot a periodic function for example 2*x from negative to positive?
I know a method to plot periodic function using mod but, It seems can not plot the negative range.
t = 10; % total simulation time
T = 3; % period
x = 0:0.1:t;
% lets say your original function is y=2*x which repeated every T second, then
y = 2*(mod(x,T));
plot(x,y)
However, because the mod of negative is a little strange, I don't know how to modify the code.
Your help would be highly appreciated
  2 commentaires
V Sairam Reddy
V Sairam Reddy le 20 Oct 2022
Please check this MATLAB Answer
Daniel Niu
Daniel Niu le 20 Oct 2022
Dear Mr Reddy,
The answer is not what I want. for example. I want my function at -pi:pi periodic. But the method only can plot function in 0:2pi.
I am looking forward to your reply.
Best regards.

Connectez-vous pour commenter.

Réponse acceptée

Torsten
Torsten le 20 Oct 2022
T = pi; % period
x = -10:0.1:10;
% lets say your original function is y=2*x which repeated every T second, then
y = 2*(mod(x-pi,2*pi)-pi);
plot(x,y)
grid on

Plus de réponses (1)

Sam Chak
Sam Chak le 20 Oct 2022
Modifié(e) : Sam Chak le 20 Oct 2022
Are you looking for this?
Edit: Made changes as per shown in your diagram. Because the amplitude is unknown, then you need to multiply the function by a certain factor to get the desired amplitude.
t = 3*pi; % total simulation time
T = 2*pi; % period (from -π to +π) --> π - (-π) = 2π
x = -t:0.01:t;
y = 2*(mod((x - pi), T)) - 2*T/2; % also need to shift x by pi
plot(x/pi, y), grid on,
xlabel('{$\frac{x}{\pi}$}', 'interpreter', 'latex', 'fontsize', 16)
ylabel('{$y$}', 'interpreter', 'latex', 'fontsize', 16)
  3 commentaires
Daniel Niu
Daniel Niu le 20 Oct 2022
Dear Mr Chak,
I am looking something like this.
Thank you so much for your answers.
Sam Chak
Sam Chak le 20 Oct 2022
Don't mention it @Daniel Niu. I have edited the code to display the sawtooh wave as per your sketched diagram. If you find the solution is helpful, please consider accepting ✔ and voting 👍 the Answer. Thanks!

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by