1 view (last 30 days)

Show older comments

I have a set of random 0s and 1s matrix A = [0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 1 0 0 1 1 1 1 1 0 0 0 0]. I want to create a matrix B that has the same size as A that if i input an interval of say 'n', it skips n numbers, and if it lands on 1, it records 1 but if it lands on 0 it records 0. however, if it doesnt land on 1 for a long time and finally lands on a 1, it records a 1 even though it has skipped more than n numbers. How do I create this matrix B?

For example, n = 2, then matrix B = [0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0]

Mara
on 27 Jan 2021

A = [0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 1 0 0 1 1 1 1 1 0 0 0 0];

n = 2;

B = zeros (1,length(A));

count = 0;

for i = 1:length(A)

count = count + 1;

if A(i) == 1 && count > n

B(i) = 1;

count = 0;

end

end

Does this help you?

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

Start Hunting!