Creating a logical array within a loop

18 vues (au cours des 30 derniers jours)
Amy Hassett
Amy Hassett le 16 Avr 2020
Commenté : Amy Hassett le 16 Avr 2020
I am trying to create a logical array in a loop, wherein each iteration of the loop should create a new column in my array:
for i= 1:size(Behaviours) %Behaviours is a 27x1 cell array containing strings
temp = strcmp(Shank2_KOs(k).BehaviourType, Behaviours(i)); %creates the logical vectors
temp_array = temp(:,i);
end
  2 commentaires
Rik
Rik le 16 Avr 2020
You are overwriting both variables every iteration. What do you want to store in which variable?
Amy Hassett
Amy Hassett le 16 Avr 2020
I would like to store the colum vector output of "temp" as a new column in "temp_array".

Connectez-vous pour commenter.

Réponse acceptée

Rik
Rik le 16 Avr 2020
In a loop the indexing works just as normal. I also made some other changes to your code.
temp_array=zeros(____,numel(Behaviours));
for n= 1:numel(Behaviours) %Behaviours is a 27x1 cell array containing strings
temp = strcmp(Shank2_KOs(k).BehaviourType, Behaviours(n)); %creates the logical vectors
temp_array(:,n) = temp;
end
  1 commentaire
Amy Hassett
Amy Hassett le 16 Avr 2020
That worked perfectly, thanks a million!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

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

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by