Эту проблему можно решить, сравнив массив следующей формы с вашим start_rows
вектором:
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
6 6 6 6 6
7 7 7 7 7
8 8 8 8 8
9 9 9 9 9
10 10 10 10 10
, который будет возвращать логический массив для выполнения условия (используется неявное расширение широковещательной АКА).
Если mat
всегда содержит нули, и вы заменяете их нулями:
(1:size(mat,1)).'+ mat >= start_rows;
Если mat
отлично от нуля:
(1:size(mat,1)).'+ 0*mat >= start_rows; % option 1
(1:size(mat,1)).'+ zeros(size(mat)) >= start_rows; % option 2
При замене на значения, отличные от 1
(или true
):
((1:size(mat,1)).'+ 0*mat >= start_rows) * newVal;