Hi,

I'm new to R and have a problem with a little test program (see below). Why doesn't <<- in function rk4
assign the new value to y so that it is seen in rktest. I thought that <<- does exactly this. But it seems that I
didn't get it right. I would be very appreciative for an explanation of that behaviour of <<-. I know how to
write the whole thing so that it works (return the updated y to rktest) but I would like to learn how variable scope
in R works.


Thanks in advance

Rolf

----------------------------------------------------------------------------------------------------------------------

rk4 <- function(x,y,f,h) {
 n  <- length(y)
 hh <- h*0.5
 k1 <- f(x,y)
 k2 <- f(x,y+k1*hh)
 k3 <- f(x,y+k2*hh)
 k4 <- f(x,y+k3*h)
 y <<- y + h/6.0*(k1 + 2.0*k2 + 2.0*k3 + k4))
}

rkf <- function(x,y) {
 -y
}

rktest <- function(){
 y <- 1.0
 x <- 0.0
 h <- 0.1
 for(i in 1:10) {
   rk4(x,y,rkf,h)
   print(y)
 }
}

rktest()

______________________________________________
[EMAIL PROTECTED] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to