# How to create a periodic function?

163 views (last 30 days)
huazai2020 on 25 Nov 2020
Answered: Setsuna Yuuki. on 25 Nov 2020
The function at [0,2] is y=x for [0,1] and y=2-x for [1,2], I want the above function repeated at [2,10], so I need a periodic funtion in the whole [0,10], who can help me code it ,thank you.

James Tursa on 25 Nov 2020
Not sure what you mean by "repeated at [2,10]". Maybe this:
y = mod(x,2);
ix = y > 1;
y(ix) = 2 - y(ix);
James Tursa on 25 Nov 2020
Generic code could be:
% Periodic triangle wave
amplitude = whatever;
period = whatever;
y = mod(x,period);
ix = y > period/2;
y(ix) = period - y(ix);
y = (amplitude * 2 / period) * y;
huazai2020 on 25 Nov 2020
Yes, you are so great,thank you so much.

David Hill on 25 Nov 2020
y=zeros(size(x));
for k=1:5
y(x>=(k-1)*2&x<(k-1)*2+1)=x(x>=(k-1)*2&x<(k-1)*2+1);
y(x>=2*(k-1)+1&x<2*k)=2-x(x>=2*(k-1)+1&x<2*k);
end
Image Analyst on 25 Nov 2020
Then just use the code that you used to create the figure. It's what you want isn't it?
huazai2020 on 25 Nov 2020

Setsuna Yuuki. on 25 Nov 2020
x = [0:3:36];
y = [0 1 0 1 0 1 0 1 0 1 0 1 0];
sig = pwfun(x,y);
and create the waveform only with the intersection points. 