由于某些原因我不知道,这似乎只是通过外部for循环一次,任何人都在关心帮助?这是我到目前为止的代码:
echelon <- function(mat){
noswaps <- 0
for(c in 1:dim(mat)[2]){
if(sum(abs(mat[,c])) != 0){
pivotcolumn <- mat[,c]
for(r in 1:dim(mat)[1]){
if(mat[r,c] != 0){
pivot <- mat[r,c]
tmprow <- mat[r,]
mat[r,] <- mat[(noswaps + 1),]
mat[(noswaps + 1),] <- tmprow
mat[(noswaps + 1),] <- mat[(noswaps + 1),]/mat[(noswaps + 1),c]
if(r > noswaps+1){
mat[r,] <- mat[r,] - (mat[r,c]*mat[(noswaps+1),])
}
noswaps <- noswaps + 1
break
}
}
}
}
return(mat)
}