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

Matt J
Matt J 2018년 2월 14일
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.
That's right. Edited it now. Thanks

댓글을 달려면 로그인하십시오.

 채택된 답변

Matt J
Matt J 2018년 2월 14일
편집: Matt J 2018년 2월 14일

0 개 추천

result = sum(diff(array,1,1)==-1 ,1)

댓글 수: 3

Hey Matt, sorry I may not have explained it correctly. The result vector should really be of length(array)-1 since it's comparing between the rows.
I've attached an image to the question to help visualise it better! Really appreciate it.
In that case,
result = sum( diff(array,1,1)==-1 ,2)
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.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

질문:

2018년 2월 14일

편집:

2018년 2월 14일

Community Treasure Hunt

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

Start Hunting!

Translated by