我遇到了问答:Possible-clique-numbers-of-a-regular-graph。
我有一个-1
向量,我需要创建一个邻接矩阵 answer((Xa, Ya), (Xb, Yb)) :- slope((Xa, Ya), (Xb, Yb), 1), slope((Xa, Ya), (Xb, Yb), -1).
,如果vec
是A
和{{ 1}}否则。
我的尝试
A[i,j]=1
我收到此错误:
错误:意外的“中”于:
“对于(1:n中的j)
A [i,j] <-if(((i-j)%% n in“
问题:如何根据条件创建一个i−j mod n
邻接矩阵?
预期结果是:
答案 0 :(得分:1)
这是你的追求吗?
k <- 4
n <- 10
vec <- c(seq(-k+1, -1), seq(1, k+1))
outer(vec, vec, FUN = function(i, j) ifelse((i - j %% n) %in% vec, 1, 0))
# [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
#[1,] 0 0 0 0 0 0 0 0
#[2,] 0 0 0 1 0 0 0 0
#[3,] 0 0 0 1 1 0 0 0
#[4,] 0 0 0 0 1 1 1 0
#[5,] 0 0 0 1 0 1 1 1
#[6,] 0 0 0 1 1 0 1 1
#[7,] 1 0 0 1 1 1 0 1
#[8,] 1 1 0 1 1 1 1 0
答案 1 :(得分:1)
尝试一下。
k <- 4
n <- 10
vec <- c(seq(1, k-1), seq(n-k+1, n-1)) # changed
A <- matrix(0, n, n)
for (i in 1:n) for (j in 1:n) A[i,j] <- (abs(i-j%%n)) %in% vec # changed