Decide values of row in matrix for certain row intervals

2 次查看(过去 30 天)
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.

采纳的回答

Scott MacKenzie
Scott MacKenzie 2022-3-5
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

更多回答(1 个)

AndresVar
AndresVar 2022-3-5
since you are just changing the first number, use res(a:b,1)=1

类别

Help CenterFile Exchange 中查找有关 Multidimensional Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by