質問編集履歴
1
追記を追加しました。質問の中で不備のあった部分について書きました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -189,3 +189,23 @@
|
|
189
189
|
```
|
190
190
|
|
191
191
|
このエラーを解消し、周期的境界条件を満たした値Eを出力することが目標です。よろしくお願い致します。
|
192
|
+
|
193
|
+
|
194
|
+
|
195
|
+
### 追記
|
196
|
+
|
197
|
+
やりたいことについて詳しく書きます。
|
198
|
+
|
199
|
+
1.Nx*Nyの行列を生成し、各成分を(i,j)であらわす。
|
200
|
+
|
201
|
+
2.行列の各要素は0~2*np.piの乱数を取るものとする。この値をS[i,j]とする。
|
202
|
+
|
203
|
+
3.E[i,j]を以下のように定義し、すべてのS[i,j]に対して計算を行う。
|
204
|
+
|
205
|
+
E[i,j] =-cos(S(i,j)-S(i+1,j))-cos(S(i,j)-S(i-1,j))-cos(S(i,j)-S(i,j+1))-cos(S(i,j)-S(i,j-1)))
|
206
|
+
|
207
|
+
しかし、このままでは行列の端では計算ができなくなる(例えばE[1.1]を計算するとき、S[0,1]やS[1,0]が定義されていないので計算ができない)ので、以下のような周期的境界条件を課します。
|
208
|
+
|
209
|
+
~~周期的境界条件~~
|
210
|
+
|
211
|
+
例えばNx=8,Ny=8の場合、S[0,1]=S[8,1]、S[1,0]=S[1,8]といった具合です。
|