我有这段代码:
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)`