teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

a

2018/10/16 13:30

投稿

tiitoi
tiitoi

スコア21960

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

2018/10/16 13:30

投稿

tiitoi
tiitoi

スコア21960

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, hight) の一様分布に従う乱数を生成できます。
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, hight=1, size=(8, 8) となります。
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
  ```