How to create a periodic function?

145 ビュー (過去 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.

カテゴリ

Help Center および File ExchangeSignal Processing Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by