Decide values of row in matrix for certain row intervals

2 visualizaciones (últimos 30 días)
Hi
I need to create a matrix where each row has the values of [1,0,0,0] over certain intervals as given below
rows=150001;window=500;
res=zeros(rows-window,4);
flagstart = [11600 42410 72480 102100 132000];
flagend = [22620 52410 82550 112900 142200];
for ii = 1:numel(flagstart)
res(flagstart(ii):flagend(ii),:) = [1,0,0,0];
end
This is the code i have got so far, but it is not working when i run it.

Respuesta aceptada

Scott MacKenzie
Scott MacKenzie el 5 de Mzo. de 2022
rows=150001;window=500;
res=zeros(rows-window,4);
flagstart = [11600 42410 72480 102100 132000];
flagend = [22620 52410 82550 112900 142200];
for ii = 1:numel(flagstart)
n = flagend(ii) - flagstart(ii)+1;
res(flagstart(ii):flagend(ii),:) = repmat([1,0,0,0],n,1);
end

Más respuestas (1)

AndresVar
AndresVar el 5 de Mzo. de 2022
since you are just changing the first number, use res(a:b,1)=1

Categorías

Más información sobre MATLAB en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by