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 :)

 채택된 답변

KSSV
KSSV 2017년 4월 25일

1 개 추천

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

질문:

2017년 4월 24일

답변:

2017년 4월 25일

Community Treasure Hunt

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

Start Hunting!

Translated by