How to plot binary sine function?

2 visualizzazioni (ultimi 30 giorni)
NoYeah
NoYeah il 8 Apr 2020
Commentato: NoYeah il 9 Apr 2020
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?

Risposta accettata

Akira Agata
Akira Agata il 8 Apr 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))

Più risposte (1)

David Hill
David Hill il 8 Apr 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 Commenti
David Hill
David Hill il 8 Apr 2020
It works fine for me, floor is never fractional.
NoYeah
NoYeah il 9 Apr 2020
yes but if you set floor set fractional, the result may not correct

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by