Dear Ted, I have found on Internet your very good comments on R vs MATLAB languages. I am a beginner in both languages, but unfortunately I have got a task to translate a huge code from R to MATLAB. Could you please recommend me some references or advices how to handle the problems appearing from the differences between languages. I was trying today to translate the below lines of code from R to MATLAB, but very unsuccessfully. Could you please help me by saying, at least, if I have any chances to translate this R function to a function in MATLAB or it will be simpler to avoid a function body for the initialization. This is the first function from the attached script. It is the hardest part of the code: init <- function(N=3) { ## initialize model settings and load data ## Globals, side effects: ## sets n.per, N, W, Y, dates, mats n.per <<- 12 # monthly data N <<- N # three risk factors ## load yield data ## cat("loading GSW yield data...\n") ## if ('data' %in% dir()) { ## load("data/gsw_data_monthly.RData") # Y, dates, mats ## } else { ## load("../data/gsw_data_monthly.RData") # Y, dates, mats ## } ## ##mat.sel <- c(1:12) ## ##mat.sel <- c(3:12) ## one through ten years ## mat.sel <- 2+c(1,2,3,4,5,7,10) ## Y <- Y[,mat.sel]/100/n.per ## mats <- mats[mat.sel]*n.per cat("loading Anh Le's yield data...\n") if ('data' %in% dir()) { load("data/le_data_monthly.RData") # Y, dates } else { load("../data/le_data_monthly.RData") # Y, dates } ## mats <- c(3,6,12,24,36,48,60,72,84,96,108,120) ##mats <- c(12,24,36,48,60,72,84,96,108,120) mats <- c(12,24,36,48,60,84,120) Y <- Y[,mats]/n.per if (dim(Y)[2]!=length(mats)) stop("wrong number of columns in yield matrix"); start.sample <- 19900101 start.date <<- c(1990,1) ##start.sample <- 19850101 ##start.date <<- c(1985,1) end.sample <- 20071231 sel.sample <- dates>=start.sample & dates<=end.sample Y <- Y[sel.sample,] ## change local variable dates <- dates[sel.sample] cat("sample from", as.character(min(dates)), "to", as.character(max(dates)), "\n") ## first N principal components => pricing factors W <<- getW(Y, N) ## make local variables global -- alt: assign("Y", Y, env=.GlobalEnv) Y <<- Y; dates <<- dates; mats <<- mats } My understanding is that I can specify this initialization outside of a function, but I am not sure. I hope you will have some free minutes to help me. Many thanks in advance for your help! Best regards, Ana Cristiuc,