MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

# Make true all the false rows of a column of a matrix which are in between the first true and the last true row

Asked by Giorgos Papakonstantinou on 16 Jun 2013

The first true element of column 1 of matrix a is at row 2. The last true element of column 1 of matrix a is at row 9. I want to get a matrix b whose 1st column will start with false, from row 2 to row 9 will b true and row 10 will be false. Likewise, I want to do the same for the rest of the columns of matrix a.

Example:

```a =[
```
```       0     0     1     0
1     0     0     0
1     0     0     1
1     0     0     1
1     1     1     0
0     0     0     1
1     1     1     0
0     1     1     0
1     0     0     0
0     0     0     1];```
```b =[
```
```       0     0     1     0
1     0     1     0
1     0     1     1
1     0     1     1
1     1     1     1
1     1     1     1
1     1     1     1
1     1     1     1
1     0     0     1
0     0     0     1];```

## Products

No products are associated with this question.

Answer by Andrei Bobrov on 16 Jun 2013
```b = cumsum(a)&flipud(cumsum(flipud(a)))