グローバル変数が自分のコードで機能していません。私はこれにかなり新しく、これを理解しているように見えることができません:対応するボタンによってトリガされた入力フィールドで操作できる変数を設定しました(これはgnaのみを表示しています)。何らかの理由で、ループ内で変更を反映していません。私は、変更された変数が同様にグラフ化することができますどこにそれを作るしようとしているが、それは私に次のエラーを与える:ここでグローバル変数が機能しない
Exception in Tkinter callback Traceback (most recent call last):
File "C:\Program Files\Python35\lib\tkinter\__init__.py", line 1549, in __call__
return self.func(*args) File "G:/PYTHON/Eulers.py", line 64, in graph
v[i + 1] = 1/c * (gna * f[i] - gk * u[i]) * del_t + v[i]
TypeError: ufunc 'multiply' did not contain a loop with signature matching types dtype('< U32') dtype('< U32') dtype('< U32')
は、コードは次のとおりです。
gna = 0.9
gnalabel = Label(topFrame, text="gna = %s" % gna)
gnalabel.pack()
gnaEntry = Entry(topFrame, justify=CENTER)
gnaEntry.pack()
def gnacallback():
global gna
gna = gnaEntry.get()
gnalabel.config(text="C = %s" % gna)
gnaButton = Button(topFrame, text="Change", width=10, command=gnacallback)
gnaButton.pack()
def graph():
global c, gna, gk, beta, gamma
for i in range(0, len(t)-1):
stinum = np.floor(i/3000)
stimt = 3000 + 3000 * (stinum - 1)
f[i] = v[i] * (1 - (((v[i]) ** 2)/3))
v[i + 1] = 1/c * (gna * f[i] - gk * u[i]) * del_t + v[i]
if(i == stimt):
v[i + 1] = v[i + 1] + v_stim
u[i + 1] = (v[i] + beta - gamma * u[i]) * del_t + u[i]
plt.plot(v)
plt.show()
あなたのコードは非常にニシキヘビではありません - あなたは、不必要な使用 '()' –
グローバル変数は、私がいずれも表示されないuoɥʇʎPʎzɐɹ[email protected]もの –
の最後の種類のより多くのです。それは彼らの心配の中で最も小さいですが、 –