Skip to content
Prev 9476 / 10988 Next

[Rcpp-devel] a variable for loop

Oh sorry. No. of columns in b and size of a must always be same.
I have made an r code to show the output.


a = c(1, 2, 3)
b = matrix(1:30, nrow=10, ncol=3)
c = array(as.double(0), dim=c(10, 3, 10))
for(i in 1:10){
  for(j in 1:3){
    for(k in 1:i){
      if(k==1) c[i, j, k] = b[i, j]
      else c[i, j, k] = c[i-1, j, k-1] * b[i, j]
    }
  }
}

Output:
[,1] [,2] [,3]
 [1,]    1   11   21
 [2,]    2   12   22
 [3,]    3   13   23
 [4,]    4   14   24
 [5,]    5   15   25
 [6,]    6   16   26
 [7,]    7   17   27
 [8,]    8   18   28
 [9,]    9   19   29
[10,]   10   20   30

, , 2

      [,1] [,2] [,3]
 [1,]    0    0    0
 [2,]    2  132  462
 [3,]    6  156  506
 [4,]   12  182  552
 [5,]   20  210  600
 [6,]   30  240  650
 [7,]   42  272  702
 [8,]   56  306  756
 [9,]   72  342  812
[10,]   90  380  870

, , 3

      [,1] [,2]  [,3]
 [1,]    0    0     0
 [2,]    0    0     0
 [3,]    6 1716 10626
 [4,]   24 2184 12144
 [5,]   60 2730 13800
 [6,]  120 3360 15600
 [7,]  210 4080 17550
 [8,]  336 4896 19656
 [9,]  504 5814 21924
[10,]  720 6840 24360

, , 4

      [,1]   [,2]   [,3]
 [1,]    0      0      0
 [2,]    0      0      0
 [3,]    0      0      0
 [4,]   24  24024 255024
 [5,]  120  32760 303600
 [6,]  360  43680 358800
 [7,]  840  57120 421200
 [8,] 1680  73440 491400
 [9,] 3024  93024 570024
[10,] 5040 116280 657720

, , 5

       [,1]    [,2]     [,3]
 [1,]     0       0        0
 [2,]     0       0        0
 [3,]     0       0        0
 [4,]     0       0        0
 [5,]   120  360360  6375600
 [6,]   720  524160  7893600
 [7,]  2520  742560  9687600
 [8,]  6720 1028160 11793600
 [9,] 15120 1395360 14250600
[10,] 30240 1860480 17100720

, , 6

        [,1]     [,2]      [,3]
 [1,]      0        0         0
 [2,]      0        0         0
 [3,]      0        0         0
 [4,]      0        0         0
 [5,]      0        0         0
 [6,]    720  5765760 165765600
 [7,]   5040  8910720 213127200
 [8,]  20160 13366080 271252800
 [9,]  60480 19535040 342014400
[10,] 151200 27907200 427518000

, , 7

        [,1]      [,2]        [,3]
 [1,]      0         0           0
 [2,]      0         0           0
 [3,]      0         0           0
 [4,]      0         0           0
 [5,]      0         0           0
 [6,]      0         0           0
 [7,]   5040  98017920  4475671200
 [8,]  40320 160392960  5967561600
 [9,] 181440 253955520  7866331200
[10,] 604800 390700800 10260432000

, , 8

         [,1]       [,2]         [,3]
 [1,]       0          0            0
 [2,]       0          0            0
 [3,]       0          0            0
 [4,]       0          0            0
 [5,]       0          0            0
 [6,]       0          0            0
 [7,]       0          0            0
 [8,]   40320 1764322560 125318793600
 [9,]  362880 3047466240 173059286400
[10,] 1814400 5079110400 235989936000

, , 9

         [,1]        [,2]         [,3]
 [1,]       0           0 0.000000e+00
 [2,]       0           0 0.000000e+00
 [3,]       0           0 0.000000e+00
 [4,]       0           0 0.000000e+00
 [5,]       0           0 0.000000e+00
 [6,]       0           0 0.000000e+00
 [7,]       0           0 0.000000e+00
 [8,]       0           0 0.000000e+00
 [9,]  362880 33522128640 3.634245e+12
[10,] 3628800 60949324800 5.191779e+12

, , 10

         [,1]         [,2]         [,3]
 [1,]       0            0 0.000000e+00
 [2,]       0            0 0.000000e+00
 [3,]       0            0 0.000000e+00
 [4,]       0            0 0.000000e+00
 [5,]       0            0 0.000000e+00
 [6,]       0            0 0.000000e+00
 [7,]       0            0 0.000000e+00
 [8,]       0            0 0.000000e+00
 [9,]       0            0 0.000000e+00
[10,] 3628800 670442572800 1.090274e+14




On Wed, Dec 14, 2016 at 7:27 PM, Avraham Adler <avraham.adler at gmail.com>
wrote: