Sum if conditions are satisfied across arrays

2 vues (au cours des 30 derniers jours)
Abhishek Varghese
Abhishek Varghese le 14 Fév 2018
Hello everyone,
Kinda stuck. Scenario is:
I have a binary 2D array that is n rows and m columns.
I want to count how many times an element went from being a '1' in one row, to a '0' in the next row, and store it as a vector.
I have updated an illustration to help.
Would really appreciate an efficient and simple solution, cheers.
  2 commentaires
Matt J
Matt J le 14 Fév 2018
I have a binary 2D array that is m rows and n columns.
According to your diagram, n is the number of rows, not columns.
Abhishek Varghese
Abhishek Varghese le 14 Fév 2018
That's right. Edited it now. Thanks

Connectez-vous pour commenter.

Réponse acceptée

Matt J
Matt J le 14 Fév 2018
Modifié(e) : Matt J le 14 Fév 2018
result = sum(diff(array,1,1)==-1 ,1)
  3 commentaires
Matt J
Matt J le 14 Fév 2018
In that case,
result = sum( diff(array,1,1)==-1 ,2)
Abhishek Varghese
Abhishek Varghese le 14 Fév 2018
Modifié(e) : Abhishek Varghese le 14 Fév 2018
Related Question:
Hey Matt, still currently optimising my code. Would love further help.
Considering that I have the adjacency matrix:
adj = [0 1 1 1
1 0 0 1
1 0 0 1
1 1 1 0];
and a binary matrix:
array = randi([0 1],4,10)
where the columns are each node in the network, and the rows for the state of the network at each time step. To clarify, if node 1 is '1' at time step 2, it would be like
array(2,1) = 1
What would I do, to create a vector of values that satisfied the same condition as my initial question, and also satisfy the condition of not having any infected neighbours in the same time step??
EDIT: An infection is considered a 1, no infection a 0
EDIT2: I have decided that perhaps its best to create another question. Please find the question here:
To receive credit for the answer! Cheers -Abhishek.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Language Fundamentals 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