Read the posting guide (the bit about reproducible code):

> OVal <- matrix(0, n+1, n+1)
>
> for(i in 0:n){
+     OVal[i+1, n+1] <- max(Val[i+1, n+1]-K, 0)
+ }
Error: object "Val" not found
>
> for(i in seq(n,1, by=-1)){
+     for(j in 0:(i-1)){
+         OVal[j+1, i] <- a*((1-p)*OVal[j+1, i+1]+p*OVal[j+2, i+1])
+     }
+ }
Error: object "p" not found
>

On Thu, 20 Mar 2008, Jonas Malmros wrote:
> Bill, Alberto, Gabor,
> Thank you for answering my question. Now I learned about outer() function.
> That was a straightforward example.
>
> But what if I had a matrix, where the last column was filled with
> values first (again, a for loop), and the rest was filled by using a
> double loop?
>
> OVal <- matrix(0, n+1, n+1)
>
> for(i in 0:n){
>     OVal[i+1, n+1] <- max(Val[i+1, n+1]-K, 0)
> }
>
> for(i in seq(n,1, by=-1)){
>     for(j in 0:(i-1)){
>         OVal[j+1, i] <- a*((1-p)*OVal[j+1, i+1]+p*OVal[j+2, i+1])
>     }
> }
>
> Even if I leave the first simple for loop as it is, is there a more
> efficient way to program the double loop part now that OVal is used
> within the function itself?
> It is pretty easy to write for loops, but it is very hard to write
> computationally optimal code. :-( Could you please help me with the
> above one, if possible?

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to