這個python程序應該模擬一個物體從50米的建築物上拋出,具有一些初始速度和恆定的重力加速度。 我正在使用數組來存儲不同的組件,但是當我需要做計算的時候,我的結果矩陣並不像它應該那樣。事實上,由此產生的矩陣大部分仍然是空的。什麼可能導致這個問題?Python模擬中的邏輯錯誤
x = z = vz = vy = ax = ay = time = 0.0
y = 50 #Initial Height: 50 meters
vx = 25 #Initial velocity in the x direction: 25 m/s
az = -9.8 #Constant acceleration in the z direction: -9.8 m/s^2
deltaTime = .000001
#Initializes a matrix with 3 columns and 1000 rows for each column: Will hold the corresponding x,y,z coordinate of the particle at time t
positionMatrix = [[None]*1000 for x in range(3)]
posArray = [x, y, z]
velArray = [vx, vy, vz]
accArray = [ax, ay, az]
timeArray = [i*deltaTime for i in range(1000)]
j = 1 #time increment
for j in range (1,500): #j is the time increment
for i in range (1,3): #i is each component (x, y, z)
#x = x + vx*time + .5*ax*(time*time); #y = y + vy*time + .5*ay*(time*time); #z = z + vz*time + .5*az*(time*time)
positionMatrix[i][j] = posArray[i] + velArray[i] * timeArray[j] + 1/2*accArray[i] * timeArray[j] * timeArray[j]
print(positionMatrix)
哪裏z和VZ界定? – Nix
@Nix:我修復了這個部分,但仍然沒有得到更好的結果 – kachilous
個人(這不會是你的問題),如果使用它3次,我會緩存timeArray [j]。 – cwallenpoole