首页 > 解决方案 > 在不同的行中定义矩阵抛出错误,同时以不同的方式定义

问题描述

我正在尝试在 R 中为沙堆编写代码,但是在尝试使代码更快之后,它就停止了工作。

这说明存储沙堆的矩阵没有定义。我尝试以不同的方式定义它,但每个都在不同的行中抛出相同的错误。下面是我的代码。

hg=301
wd=301
currpile<<-matrix(c(0),nrow=wd,ncol=hg)
currpile[151,151]=999999
while(max(currpile)>3){
  for (y in 1:hg) {
    for (x in 1:wd){
      if (currpile[y,x]>=4){
        currpile[y,x]<<-currpile[y,x]-4
        if(y+1<=hg){
          currpile[y+1,x]<<-currpile[y+1,x]+1
        }
        if(y-1>0){
          currpile[y-1,x]<<-currpile[y-1,x]+1
        }
        if(x+1<=wd){
          currpile[y,x+1]<<-currpile[y,x+1]+1
        }
        if(x-1>0){
          currpile[y,x-1]<<-currpile[y,x-1]+1
        }
      }
    } 
  }
}
library(raster)
plot(raster(currpile))

及其显示的错误:

找不到对象“curpile”

标签: r

解决方案


推荐阅读