IF statement problem in creating an array with zeros

1 vue (au cours des 30 derniers jours)
Dave Griffin
Dave Griffin le 17 Juil 2017
Modifié(e) : the cyclist le 17 Juil 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.

Réponses (1)

the cyclist
the cyclist le 17 Juil 2017
Modifié(e) : the cyclist le 17 Juil 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 commentaires
Dave Griffin
Dave Griffin le 17 Juil 2017
Ci is 1441x1 double
the cyclist
the cyclist le 17 Juil 2017
Modifié(e) : the cyclist le 17 Juil 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);

Connectez-vous pour commenter.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by