我已經寫了一個代碼來解決使用中點法的各種積分。我曾爲其他函數工作,但是當試圖計算這個特定函數的積分(你會在代碼中看到它)時,我遇到了這個錯誤:「用一個序列設置一個數組元素。」如果有人能指出是什麼導致了這個問題,那將是非常感謝。Python序列錯誤
編輯:我已經標記了錯誤發生的地方。
這是我的代碼:
from matplotlib.pylab import *
N = 1000
xi = 1.0
xf = 4.0
dx = (xf - xi)/N
x = zeros(N+1)
F = zeros(N+1)
k = m = 1
Z = 2*sqrt((2*m)/2)
A = 1
x[0] = xi
F[0] = 0.0
for i in range(1,N+1):
x[i] = x[i-1] + dx
xmid = (x[i] + x[i-1])/2.0
F[i] = F[i-1] + dx*(Z*sqrt(k*A**4 - k*x**4)) #error here
print 'F at', xf, ' = ', F[N]
plot(F,x,'b')
xlabel('F')
ylabel('x')
show()
我總是做出這樣愚蠢的疏忽。我不應該這麼晚就編程。這固定了它。謝謝。 –