IF statement problem in creating an array with zeros
Afficher commentaires plus anciens
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
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
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
le 17 Juil 2017
Modifié(e) : Dave Griffin
le 17 Juil 2017
the cyclist
le 17 Juil 2017
What is the size of Ci? From your prior syntax, I assumed it was a scalar.
Dave Griffin
le 17 Juil 2017
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);
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!