回答編集履歴
2
a
answer
CHANGED
@@ -93,4 +93,25 @@
|
|
93
93
|
一行でかくなら
|
94
94
|
```
|
95
95
|
XY = np.dstack(np.mgrid[0:8, 0:8])
|
96
|
+
```
|
97
|
+
|
98
|
+
## 追記
|
99
|
+
|
100
|
+
コメント欄の計算をするなら、こうですね。
|
101
|
+
1,8列と1,8行の端の処理が不明だったので、範囲外の値は0として計算しています。
|
102
|
+
|
103
|
+
```python
|
104
|
+
a = np.random.uniform(0, 2 * np.pi, (8, 8))
|
105
|
+
x = np.empty_like(a)
|
106
|
+
|
107
|
+
# a を zero-padding
|
108
|
+
a = np.pad(a, (1, 1), 'constant', constant_values=0)
|
109
|
+
print(a.shape) # (10, 10)
|
110
|
+
|
111
|
+
for i, j in np.dstack(np.mgrid[1:9, 1:9]).reshape(-1, 2):
|
112
|
+
x[i - 1, j - 1] = -np.cos(a[i, j] - a[i - 1, j]) \
|
113
|
+
- np.cos(a[i, j] - a[i + 1, j]) \
|
114
|
+
- np.cos(a[i, j] - a[i, j + 1]) \
|
115
|
+
- np.cos(a[i, j] - a[i, j - 1])
|
116
|
+
print(x)
|
96
117
|
```
|
1
a
answer
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
## 各値が乱数で初期化された行列を作成する
|
2
2
|
|
3
|
-
[numpy.random.uniform(low=0.0, high=1.0, size=None)](https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.uniform.html) で [low,
|
3
|
+
[numpy.random.uniform(low=0.0, high=1.0, size=None)](https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.uniform.html) で [low, high) の一様分布に従う乱数を生成できます。
|
4
4
|
|
5
|
-
今回の場合、[0, 2pi) の 8x8 行列なので、low=0,
|
5
|
+
今回の場合、[0, 2pi) の 8x8 行列なので、low=0, high=2 * np.pi, size=(8, 8) となります。
|
6
6
|
|
7
7
|
|
8
8
|
```
|
@@ -88,4 +88,9 @@
|
|
88
88
|
[1 6]
|
89
89
|
[1 7]]
|
90
90
|
... 略
|
91
|
+
```
|
92
|
+
|
93
|
+
一行でかくなら
|
94
|
+
```
|
95
|
+
XY = np.dstack(np.mgrid[0:8, 0:8])
|
91
96
|
```
|