Массивы:
p1 = 0.4, 0.5, 0.1,
0.1, 0.7, 0.2,
0.1, 0.7, 0.2
p2 = 0.7, 0.2, 0.1,
0.3, 0.6, 0.1,
0.1, 0.7, 0.2
p3 = 0.3, 0.6, 0.1,
0.1, 0.6, 0.3,
0.05, 0.4, 0.55
r1 = 200, 320, 400,
100, 200, 500,
0, 50,300,
r2 = 100, 400, 700,
-100, 100, 800,
-300, -200, 200
r3 = 100, 230, 410
50, 150, 500
-50, 100, 350
их сумма:
s = np.cumsum((p1 * r1), axis = 1)+np.cumsum((p2*r2),axis = 1)+np.cumsum((p3*r3),axis = 1) print(s)
180. 558. 709.
-15. 275. 605.
-32.5 -97.5 195.
а должно получится:
280.0, 250.0, 95.0,
220.0, 110.0, -130.0,
209.0, 245.0, 230.0
Грубо говоря, вычислить массив нужно таким образом(Как это можно написать функцией?):
rp1(0)(0) = r1(0)(0)*p1(0)(0)+r1(0)(1)*p1(0)(1)+r1(0)(2)*p1(0)(2)
rp1(0)(1) = r1(1)(0)*p1(1)(0)+r1(1)(1)*p1(1)(1)+r1(1)(2)*p1(1)(2)
rp1(0)(2) = r1(2)(0)*p1(2)(0)+r1(2)(1)*p1(2)(1)+r1(2)(2)*p1(2)(2)
rp1(1)(0) = r2(0)(0)*p2(0)(0)+r2(0)(1)*p2(0)(1)+r2(0)(2)*p2(0)(2)
rp1(1)(1) = r2(1)(0)*p2(1)(0)+r2(1)(1)*p2(1)(1)+r2(1)(2)*p2(1)(2)
rp1(1)(2) = r2(2)(0)*p2(2)(0)+r2(2)(1)*p2(2)(1)+r2(2)(2)*p2(2)(2)
rp1(2)(0) = r3(0)(0)*p3(0)(0)+r3(0)(1)*p3(0)(1)+r3(0)(2)*p3(0)(2)
rp1(2)(1) = r3(1)(0)*p3(1)(0)+r3(1)(1)*p3(1)(1)+r3(1)(2)*p3(1)(2)
rp1(2)(2) = r3(2)(0)*p3(2)(0)+r3(2)(1)*p3(2)(1)+r3(2)(2)*p3(2)(2)