IF statement problem in creating an array with zeros

1 Ansicht (letzte 30 Tage)
Dave Griffin
Dave Griffin am 17 Jul. 2017
Bearbeitet: the cyclist am 17 Jul. 2017
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.

Antworten (1)

the cyclist
the cyclist am 17 Jul. 2017
Bearbeitet: the cyclist am 17 Jul. 2017
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 Kommentare
Dave Griffin
Dave Griffin am 17 Jul. 2017
Ci is 1441x1 double
the cyclist
the cyclist am 17 Jul. 2017
Bearbeitet: the cyclist am 17 Jul. 2017
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);

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by