im trying to do it using zero(16) and plussing 1's in certain coordinates, or i could use meshgrid too mesh them together, not sure how i want to do it.
How to create a checkerboard matrix without inbuilt function.
86 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Riley Smith
am 12 Sep. 2017
Kommentiert: Mendi
am 6 Sep. 2020
I just want to write this matrix, but want to do it using for loops
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
Akzeptierte Antwort
Joseph Cheng
am 12 Sep. 2017
There are much easier ways to do this than nested for loops, reshape is readily available. if you must do it with for loops you want to start off with the template
for Rind=1:Nrows
for Cind=1:Ncols
Checkerboard(Rind,Cind) = ___;%what condition of Rind and Cind gives you the checker board pattern.
%start with the first row what makes a 1 appear when Rind==1 and Cind=a number.
%then think of the sigificant difference between Rind==1 and Rind==2.....
end
end
0 Kommentare
Weitere Antworten (4)
ksam K
am 25 Nov. 2017
%Hope this helps you.
function a = checkerboard(n)
a = zeros(n);
for i = 1:n
for j = 1:n
if (i == j)
a (i, j) = 0;
elseif (mod(j, 2) == 0) && (mod(i,2) == 0)
a(i,j) = 0;
elseif (mod(j, 2) == 0) || (mod(i,2) == 0)
a(i,j) = 1;
end
end
end
end
Jan Siegmund
am 21 Mai 2020
For an even sized checkerboard:
rows = 6;
cols = 4;
normal = repmat(eye(2,'logical'),[rows/2 cols/2]);
% or
inverted = repmat(~eye(2,'logical'),[rows/2 cols/2]);
0 Kommentare
Mendi
am 5 Sep. 2020
It is more natural to use modulus on meshgrid:
[iX,iY] = meshgrid(1:8,1:8);
Mask=mod(iX+iY,2);
2 Kommentare
Bruno Luong
am 5 Sep. 2020
Bearbeitet: Bruno Luong
am 5 Sep. 2020
Two more methods
toeplitz(mod(0:7,2))
or for even size
kron(ones(4),[0 1;1 0])
0 Kommentare
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements 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!