質問編集履歴
1
追記を追加しました。質問の中で不備のあった部分について書きました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -93,4 +93,14 @@
|
|
93
93
|
for i, j in np.dstack(Nx,Ny):
|
94
94
|
TypeError: dstack() takes 1 positional argument but 2 were given
|
95
95
|
```
|
96
|
-
このエラーを解消し、周期的境界条件を満たした値Eを出力することが目標です。よろしくお願い致します。
|
96
|
+
このエラーを解消し、周期的境界条件を満たした値Eを出力することが目標です。よろしくお願い致します。
|
97
|
+
|
98
|
+
### 追記
|
99
|
+
やりたいことについて詳しく書きます。
|
100
|
+
1.Nx*Nyの行列を生成し、各成分を(i,j)であらわす。
|
101
|
+
2.行列の各要素は0~2*np.piの乱数を取るものとする。この値をS[i,j]とする。
|
102
|
+
3.E[i,j]を以下のように定義し、すべてのS[i,j]に対して計算を行う。
|
103
|
+
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)))
|
104
|
+
しかし、このままでは行列の端では計算ができなくなる(例えばE[1.1]を計算するとき、S[0,1]やS[1,0]が定義されていないので計算ができない)ので、以下のような周期的境界条件を課します。
|
105
|
+
~~周期的境界条件~~
|
106
|
+
例えばNx=8,Ny=8の場合、S[0,1]=S[8,1]、S[1,0]=S[1,8]といった具合です。
|