我試圖繪制一個依賴于除主變數之外的其他變數的函式,以查看差異并獲得最佳簡歷,但最后該圖沒有顯示任何圖表,這是我的代碼:
import matplotlib.pyplot as plt
import math as m
l=[(0,0.016699),(1,0.023958),(2,0.02724),(3,0.033468),(4,0.42456),(5,0.059325),(6,0.063399),(7,0.079788),(8,0.095916),(9,0.125),(10,0.14622),(11,0.20257),(12,0.21643),(13,0.28974),(14,0.4424),(15,0.55856),(16,0.59991),(17,0.72561),(18,0.9964),(19,1.6748),(20,1.69)]
for i in range (12000):
t=i
for j in l:
a=j[0]
c=j[1]
v=m.sqrt((2*(150-(40*9.8*m.sin(m.radians(a)))))/(1.2*c*0.875))*m.tanh(m.sqrt(((150/40)-9.8*m.sin(m.radians(a)))*(1.2*c*0.875*0.0125))*t)
plt.plot(t,v)
plt.show()
這是輸出:

我改變了 x 和 y 所以 x 代替了 y 和相同的 y 所以圖片在更改之前但結果相同,這不是主要問題,我也嘗試將 '12000' 更改為 100 到使編譯時間更快但沒有結果
uj5u.com熱心網友回復:
您只繪制一個點:將生成的資料記錄到串列中并繪制串列:
l=[(0,0.016699),(1,0.023958),(2,0.02724),(3,0.033468),(4,0.42456),(5,0.059325),(6,0.063399),(7,0.079788),(8,0.095916),(9,0.125),(10,0.14622),(11,0.20257),(12,0.21643),(13,0.28974),(14,0.4424),(15,0.55856),(16,0.59991),(17,0.72561),(18,0.9964),(19,1.6748),(20,1.69)]
data_t = []
data_v = []
for t in range (50):
for j in l:
a = j[0]
c = j[1]
v = m.sqrt((2*(150-(40*9.8*m.sin(m.radians(a)))))/(1.2*c*0.875))*m.tanh(m.sqrt(((150/40)-9.8*m.sin(m.radians(a)))*(1.2*c*0.875*0.0125))*t)
data_t.append(t)
data_v.append(v)
print(data_v)
plt.plot(data_t,data_v)
plt.show()
輸出 :

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/435874.html
標籤:Python matplotlib 数学
