回答編集履歴

1

修正と追加

2019/06/11 23:25

投稿

bsdfan
bsdfan

スコア4574

test CHANGED
@@ -2,12 +2,36 @@
2
2
 
3
3
  ```python
4
4
 
5
- cumsum_car = np.zeros_like(car)
5
+ cumsum_car = np.cumsum(car, axis=0) - car
6
6
 
7
+
8
+
9
+ # 編集前のバージョン、難しく考え過ぎました
10
+
11
+ # cumsum_car = np.zeros_like(car)
12
+
7
- cumsum_car[1:] = np.cumsum(car, axis=0)[:-1]
13
+ # cumsum_car[1:] = np.cumsum(car, axis=0)[:-1]
8
14
 
9
15
  ```
10
16
 
11
17
  `cumsum_car[x, y]`が、`np.sum(car[0:x, y])`に等しくなっています。
12
18
 
13
19
  なお、質問には任意のx, yとありますが、この場合はもとの`car`のインデックスとして有効な値の範囲のみとなります。
20
+
21
+
22
+
23
+ `calcal`は以下のようになりますが、各arrayのshape次第ではもう少し簡単に出来ると思います。
24
+
25
+ ```python
26
+
27
+ def calcal(l1, t1):
28
+
29
+ return (-(1/Bet_A) * arr[l1, t1]
30
+
31
+ - (1/Bet_B) * arr[l1, t1]
32
+
33
+ + (1/Bet_B) * cumsum_car[l1, t1]
34
+
35
+ + car[l1, t1])
36
+
37
+ ```