How to plot binary sine function?

binary sine function change its amplitude to minus after a peirod
for example) T=3, Range 0~6
y=sin(t/3) for 0<=t<3
y=-sin(t/3) for 3<=t<6
it reculsively occurs for whole range
6~9, 15~18, ....
9~12, 18~21, ....
how to plot this graph?

 Respuesta aceptada

Akira Agata
Akira Agata el 8 de Abr. de 2020
How about modulating a phase with 0 <-> pi ?
The following is an example:
T = 3;
time = linspace(0,T*4,1000);
% Create a phase 0 <-> pi
binary = mod(floor(time/3),2) == 1;
phi = pi*binary;
% Plot a phase modulated signal
figure
plot(time,sin(2*pi*(1/T)*time + phi))

Más respuestas (1)

David Hill
David Hill el 8 de Abr. de 2020
t=0:.01:30:
y=sin(2*pi*t/3).*(-1).^floor(t/3);%I think you are missing the 2*pi
plot(t,y);

3 comentarios

NoYeah
NoYeah el 8 de Abr. de 2020
Editada: NoYeah el 8 de Abr. de 2020
I did that expression before the question. but something went crazy depends on frequency and time interval. if any term of floor(blah) is containg fractional exponent, it brings whole results into complex plane and distort whole graph into something strange thing
for example) below yields complex value. not -1
(-1)^(99/10)
David Hill
David Hill el 8 de Abr. de 2020
It works fine for me, floor is never fractional.
NoYeah
NoYeah el 9 de Abr. de 2020
yes but if you set floor set fractional, the result may not correct

Iniciar sesión para comentar.

Categorías

Más información sobre MATLAB en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 8 de Abr. de 2020

Comentada:

el 9 de Abr. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by