How to create a periodic function?
조회 수: 139 (최근 30일)
이전 댓글 표시
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.
댓글 수: 0
채택된 답변
James Tursa
2020년 11월 25일
Not sure what you mean by "repeated at [2,10]". Maybe this:
y = mod(x,2);
ix = y > 1;
y(ix) = 2 - y(ix);
댓글 수: 9
James Tursa
2020년 11월 25일
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;
추가 답변 (2개)
David Hill
2020년 11월 25일
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
댓글 수: 4
Image Analyst
2020년 11월 25일
Then just use the code that you used to create the figure. It's what you want isn't it?
Setsuna Yuuki.
2020년 11월 25일
You can use this function: https://es.mathworks.com/matlabcentral/fileexchange/83058-continuous-piecewise-function-linear-funcion-por-partes
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.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Signal Processing Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!