creating a large matrix with a pattern
48 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
bus14
am 16 Mai 2019
Bearbeitet: Andrei Bobrov
am 16 Mai 2019
Hi,
I would like to create a 800x200 matrix which looks like:
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
To put in in words, every new column should start with the column [1 1 0 1].' when the other is finished.
Tried to do this with toeplitz. However this results in only 1 step change of columns e.g.
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0
This is not what I desire. Does anyone know another way to do this?
0 Kommentare
Akzeptierte Antwort
convert_to_metric
am 16 Mai 2019
Bearbeitet: convert_to_metric
am 16 Mai 2019
Hi bus14,
Try this:
m=zeros(804,200);
m([1,2,4],:)=1;
m2=reshape(m,800,[]);
m2(:,201)=[];
0 Kommentare
Weitere Antworten (1)
Andrei Bobrov
am 16 Mai 2019
Bearbeitet: Andrei Bobrov
am 16 Mai 2019
out = kron(eye(200),[1;1;0;1]);
or
a = [1;1;0;1;zeros(796,1)];
out = a(mod((1:800)'-(1:4:800),800)+1);
0 Kommentare
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!