226 views (last 30 days)

Hi, I need to create a periodic function and plot it.

F(x)=sqrt(3) + *Sin(t -2*pi/3) --> 0<t<pi/3

F(x)=Sin(t) --> pi/3 <t<2*pi/3

repeat the signal 0<t<3*pi with the period 2*pi/3 Then plot(t,Fx)

------

At the moment I use the following code

>> t1=0:.01:pi/3;

>> t2=pi/3:.01:2*pi/3;

A=sqrt(3) + sin(t1*2*pi- 2*pi/3);

B=sin(t2);

plot(t1,A,t2,B)

This method is produce the answer a one cycle. However it is quite difficult to repeat the pattern for multiple times.

Can any one n please suggest way of doing this

Andrei Bobrov
on 8 Dec 2013

Edited: Andrei Bobrov
on 10 Dec 2013

t = 0:pi/100:6*pi;

t1 = rem(t,2*pi/3);

l = t1 < pi/3 ;

F = @(t,l)sqrt(3)*l + sin((2*pi*l + ~l).*t -2*pi/3*l);

out = F(t1,l);

plot(t,out)

ADD

t = 2*pi*(0:.0005:1).';

t1 = rem(t,2*pi/3);

l1 = t1 < pi/3;

l0 = ~l1;

y = zeros(numel(t),2);

y(l1,1) = sqrt(3) + sin(t1(l1) - 2*pi/3);

y(l0,1) = sin(t1(l0));

y(l1,2) = sin(t1(l1) - 2*pi/3);

y(l0,2) = sin(t1(l0)) - sqrt(3);

yy = sin([t,bsxfun(@plus,t,[1, -1]*2*pi/3)]);

plot(t,[y,yy]);

Azzi Abdelmalek
on 8 Dec 2013

t1=0:.01:pi/3;

t2=pi/3:.01:2*pi/3;

A=sqrt(3) + sin(t1*2*pi- 2*pi/3);

B=sin(t2);

t=[t1 t2],

y=[A,B]

plot(t,y)

m=5 % Repetition

n=numel(t);

tt=0:0.01:n*m*0.01-0.01

yy=repmat(y,1,m)

plot(tt,yy)

sixwwwwww
on 8 Dec 2013

Edited: sixwwwwww
on 8 Dec 2013

you can do it as follow:

count = 1;

for t = 0:pi/3:pi - pi/3

if mod(count, 2) == 1

x = linspace(t, t + pi/3);

y = sqrt(3) + sin(x * 2 * pi - 2 * pi/3);

plot(x, y), hold on

count = count + 1;

else

x = linspace(t, t + pi/3);

y = sin(x);

plot(x, y), hold on

count = count + 1;

end

end

Maybe following link is also helpful for you:

sixwwwwww
on 9 Dec 2013

It was selected to choose between the plots curve should be plotted. It doesn't have effect on output actually. The output is controlled by the range in the for loop:

for t = 0:pi/3:pi - pi/3

changing pi - pi/3 to pi - pi/3 will give more periods of the plot

Sign in to comment.

Sign in to answer this question.

Opportunities for recent engineering grads.

Apply Today
## 1 Comment

## Direct link to this comment

https://se.mathworks.com/matlabcentral/answers/109112-periodic-function-with-n-cycles#comment_184261

⋮## Direct link to this comment

https://se.mathworks.com/matlabcentral/answers/109112-periodic-function-with-n-cycles#comment_184261

Sign in to comment.