Input conditional sine wave

Hi, I am trying to input a signal which is a sine wave between 3 and 7 seconds and zero everywhere else. I am trying to create an 'for loop' to do this by indexing the time vector but I can't make it work, the graph just displays nothing (assuming matlab thinks x = 0 for all time?)...is there anything I've missed?
t = [0:0.1:10];
for k=1:length(t)
if t(k)>=3 && t(k)<=7
x = 5*sin(4*pi *t);
else
x = 0;
end
end
plot(t,x)
Any help would be greatly appreciated :)

 Accepted Answer

t = 0:0.1:10;
x = 5*sin(4*pi *t);
x(t<3) = 0 ;
x(t>7) = 0 ;
plot(t,x)

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

on 24 Apr 2017

Answered:

on 25 Apr 2017

Community Treasure Hunt

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

Start Hunting!