IF statement problem in creating an array with zeros

조회 수: 1 (최근 30일)
Dave Griffin
Dave Griffin 2017년 7월 17일
편집: the cyclist 2017년 7월 17일
for t=1:1441
if 960<t<1150
EV1_6=Ci;
else
EV1_6=0;
end
I am trying to create a new array EV1_6 that will have the values from Ci while in the range of 960 to 1150 and fill the rest of the array with zeros. I need the zeros as this will be used for another task that simulates voltage.

답변 (1개)

the cyclist
the cyclist 2017년 7월 17일
편집: the cyclist 2017년 7월 17일
if 960<t<1150
is not proper syntax for an if statement. You need
if 960<t && t<1150
See the documentation for details.
You also don't need a for loop:
EV1_6 = zeros(1,1441);
EV1_6(961:1149) = Ci;
will do the same thing, more efficiently.
  댓글 수: 4
Dave Griffin
Dave Griffin 2017년 7월 17일
Ci is 1441x1 double
the cyclist
the cyclist 2017년 7월 17일
편집: the cyclist 2017년 7월 17일
OK, so do you mean that you want EV1_6 to be zero, except for the elements in that particular range, which should be copied over from Ci? In that case,
EV1_6 = zeros(1441,1);
EV1_6(961:1149) = Ci(961:1149);

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by