You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自旋为-1、+1的粒子方格移动的R语言矩阵实现

在R中构建粒子移动方向矩阵

直接用R的向量化运算即可完成矩阵构建,无需循环,代码如下:

# 定义参数
L <- 4
N <- L * L

# 生成0到N-1的索引序列
i <- 0:(N-1)

# 计算四个方向对应的索引
right <- ((i %/% L) * L) + ((i + 1) %% L)
down <- (i + L) %% N
left <- ((i %/% L) * L) + ((i - 1) %% L)
up <- (i - L) %% N

# 组合成目标矩阵,每行对应一个i,列依次为右、下、左、上
movement_matrix <- cbind(right, down, left, up)

# 可选:为行列添加名称增强可读性
rownames(movement_matrix) <- paste0("i=", i)
colnames(movement_matrix) <- c("右", "下", "左", "上")

# 查看结果
print(movement_matrix)

关键细节说明

  • R原生支持%/%(地板除法)和%%(取模运算),行为和Python中对应的运算符一致,比如负数取模会返回正结果,完全匹配你的计算需求。
  • 利用R的向量化特性,直接对整个索引向量计算,比循环实现更高效简洁。
  • 最终矩阵为16行(对应N=16个方格位置)、4列(四个移动方向),每个元素是粒子移动后的目标索引值。

内容的提问来源于stack exchange,提问作者Homer Jay Simpson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 09:40:25