我正在嘗試使用R來模擬基於其直接鄰近的其他代理的決定更改其決策的代理網格。基本上,每個代理都會在網格上看到他周圍的其他代理,並且可能會根據他周圍的行爲改變其行爲。我已經在下面包含了一些示例dinky-toy代碼來顯示(一次迭代)這種動態。R agent-based proximity
我想知道是否
有一個優雅的方式處理網格的邊界(目前第t + 1,i + 1的代碼不會在邊緣上工作),
或者是否有其他方法使用基於矩陣/使用圖的方法的「空間」維來模擬這些模型?
NCols=10
NRows=10
df=round(matrix(runif(NCols*NRows), ncol=NCols),0); df
t=1;i=1
for(i in 1:(nrow(df)-1)){
for(t in 1:(ncol(df)-1)){
prox=sum(df[t+1,i]+df[t+1,i-1]+df[t+1,i+1]+df[t,i]+df[t,i-1]+df[t,i+1]+df[t-1,i]+df[t-1,i-1]+df[t-1,i+1])
if(prox<=3) {df[t,i]=0} else {df[t,i]=1}
}
}
df
邊界條件是有限差分方法的常見問題。我建議研究文獻。 – Roland