how to plot a periodic function fro negative to positive?

조회 수: 4 (최근 30일)
Daniel Niu
Daniel Niu 2022년 10월 20일
댓글: Sam Chak 2022년 10월 20일
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
Daniel Niu
Daniel Niu 2022년 10월 20일
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.

댓글을 달려면 로그인하십시오.

채택된 답변

Torsten
Torsten 2022년 10월 20일
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

추가 답변 (1개)

Sam Chak
Sam Chak 2022년 10월 20일
편집: Sam Chak 2022년 10월 20일
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
Daniel Niu
Daniel Niu 2022년 10월 20일
Dear Mr Chak,
I am looking something like this.
Thank you so much for your answers.
Sam Chak
Sam Chak 2022년 10월 20일
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!

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Title에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by