R

时间:2015-10-17 09:50:04

标签: r for-loop cycle

我有这段代码:

for(b in seq(nrow(A), 1, -1)){
result[nrow(A)-b+1]<-A[b,ncol(A)]/A[b,b]
for(t in seq(b,(nrow(A)-1), 1)){
  result[nrow(A)-b+1]<- result[nrow(A)-b+1]-(result[t,b]/A[b,b])

并收到此错误Error in seq.default(b, (nrow(A) - 1), 1) : wrong sign in 'by' argument 我的想法是,第一个循环的第一步中的第二个循环不运行,第二个步骤一次,第三个循环两次...... 怎么了?它认为也许我写得不好,因为在第一步我的“开始数字”大一个然后“结束数字”和“按数字”的标志这个周期不能达到结束数字。 但是我需要它以这种方式,我认为在那种情况下它只是跳过那个周期...... 我知道我可以在循环之前用一些条件来做,但我想知道问题的核心。 非常感谢你, 马丁! 整个代码:

Gaus<-function(A){
for(i in seq(1, nrow(A)-1, 1)){
for(n in seq(i, nrow(A)-1, 1)){
  multiplier<-A[n+1,i]/A[i,i]
  if(multiplier!=0)
    for(ch in seq(i, ncol(A), 1)){
      print(ch)
      A[n+1,ch]<-A[n+1,ch]-(A[i,ch]*multiplier)
      print(A)

    }
}

}

 result <-c()
for(b in seq(nrow(A), 1, -1)){
result[nrow(A)-b+1]<-A[b,ncol(A)]/A[b,b]
for(t in b:(nrow(A)-1)){
  result[nrow(A)-b+1]<- result[nrow(A)-b+1]-(result[t,b]/A[b,b])
}

} }

A <- matrix(c(2,4,5,8,3,2,8,7,9,1,6,5), 3, 4, TRUE)
Gaus(A)`

0 个答案:

没有答案