制作国际象棋矩阵

时间:2021-02-17 10:17:34

标签: r matrix

所以我使用 r 并且我想编写一个取 n 值的代码,创建一个 n x n 矩阵,该矩阵具有交替的 1 和 0。

例如: enter image description here

我似乎无法在没有收到错误或警告的情况下执行此操作,并且它不适用于所有整数 n,我们将不胜感激,谢谢。

2 个答案:

答案 0 :(得分:2)

这个怎么样?

n <- 5L

matrix(seq(1:n^2) %% 2, nrow = n)  
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    0    1    0    1
[2,]    0    1    0    1    0
[3,]    1    0    1    0    1
[4,]    0    1    0    1    0
[5,]    1    0    1    0    1

答案 1 :(得分:1)

试试下面的代码

m <- matrix(rep_len(c(1, 0), n^2), n)

m <- replace(m <- diag(n), !((row(m) - col(m)) %% 2), 1)

给出

> m
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    0    1    0    1
[2,]    0    1    0    1    0
[3,]    1    0    1    0    1
[4,]    0    1    0    1    0
[5,]    1    0    1    0    1