悬赏 100 个论坛币 已解决
求解方程的数值解,已经有了第一部计算,现在的问题是 迭代计算 ,因为迭代计算我不太懂,所以程序也不会编
f(x)=0
x(k+1)=x(k)-{J(x(k))}^(-1)*f(x(k)), k=0,1,2….
其中J和f已经计算出来了,这个Newtons迭代函数编写如下?
Newtons<-function (funs, y, ep=1e-5, it_max=100){ 
index<-0; k<-1 
while (k<=it_max){ 
y1 <- y; obj <- funs(y);
y<- y-solve(obj$J, obj$f); 
........
其中要迭代的函数:
funs<-function(x){
。。。
f<- c(。。,。。。) #这是f(.)
J<- matrix(,..,….,…,
nrow=2, byrow=T)
# Jacobi矩阵 j(.)
return(
list(f=f, J=J))
}
要迭代部分函数是正确的,运行问题在于:
错误于drop(.Call("La_dgesv", a, as.matrix(b), tol, PACKAGE = "base")) : 
  Lapack例行程序dgesv: 系统正好是奇异的
是不是迭代函数存在问题啊,谢谢了