How to create a periodic function?

161 ビュー (過去 30 日間)
huazai2020
huazai2020 2020 年 11 月 25 日
回答済み: Setsuna Yuuki. 2020 年 11 月 25 日
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
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
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;
huazai2020
huazai2020 2020 年 11 月 25 日
Yes, you are so great,thank you so much.

サインインしてコメントする。

その他の回答 (2 件)

David Hill
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
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?
huazai2020
huazai2020 2020 年 11 月 25 日
Please see the below image I upload,it is what I want.

サインインしてコメントする。


Setsuna Yuuki.
Setsuna Yuuki. 2020 年 11 月 25 日
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.

Community Treasure Hunt

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

Start Hunting!

Translated by