F = @(p)C*A^p*B;
M = arrayfun(F,0:n-1,'uni',0);
M = cumsum(cat(3,M{:}),3);
M = reshape(permute(M,[1,3,2]),[],b);
>> n = 4;
>> a = 3;
>> b = 5;
>> c = 7;
>> A = randi(9,a,a);
>> B = randi(9,a,b);
>> C = randi(9,c,a);
>> F = @(p)C*A^p*B;
>> M = arrayfun(F,0:n-1,'uni',0);
>> M = cumsum(cat(3,M{:}),3);
>> M = reshape(permute(M,[1,3,2]),[],b)
M =
62 26 60 54 23
87 28 84 73 28
64 32 60 64 26
91 28 90 69 29
78 26 84 38 27
44 28 42 44 21
39 8 42 17 11
1097 364 1086 839 363
1234 413 1197 1024 406
1310 424 1308 962 430
1253 429 1215 1045 417
1173 428 1158 923 407
1119 364 1134 769 371
407 157 387 371 143
15024 5141 14643 12290 5011
16947 5684 16506 13853 5593
17592 6090 17118 14508 5898
17555 5869 17133 14231 5790
17456 5881 17151 13802 5799
15148 5313 14763 12446 5117
6315 2047 6219 4915 2060
209655 70440 204660 169953 69330
232333 78197 226401 189661 76832
247894 83060 242196 200194 81896
240128 80995 233967 196190 79492
240835 81632 234924 196069 79970
216015 72366 211302 173637 71400
84302 28771 81975 69536 28048
>> C*B
ans =
62 26 60 54 23
87 28 84 73 28
64 32 60 64 26
91 28 90 69 29
78 26 84 38 27
44 28 42 44 21
39 8 42 17 11
>> C*A*B + C*B
ans =
1097 364 1086 839 363
1234 413 1197 1024 406
1310 424 1308 962 430
1253 429 1215 1045 417
1173 428 1158 923 407
1119 364 1134 769 371
407 157 387 371 143
>> C*A^2*B + C*A*B + C*B
ans =
15024 5141 14643 12290 5011
16947 5684 16506 13853 5593
17592 6090 17118 14508 5898
17555 5869 17133 14231 5790
17456 5881 17151 13802 5799
15148 5313 14763 12446 5117
6315 2047 6219 4915 2060