dt=0.1 g=9.8 a=30*math.pi/180 b=45*math.pi/180 c=60*math.pi/180 angle = [a,b,c] v_0=800 B2_0=0.0106 m=70 t2=[0] v_x2=[v_0*math.cos(angle[1])] v_y2=[v_0*math.sin(angle[1])] x2=[0] y2=[0] while y2[-1]>=0: x2.append(x2[-1]+v_x2[-1]*dt) y2.append(y2[-1]+v_y2[-1]*dt) v_x2.append(v_x2[-1] - B2_0*v_0*v_x2[-1]*dt/m) v_y2.append(v_y2[-1] - g*dt - B2_0*v_0*v_y2[-1]*dt/m) t2.append(t2[-1]+dt) print ('初始速度:',v_0, '\n','落点:', 'x:',x2[-1],'y:',y2[-1], '\n''飞行时间:',t2[-1]) B3=B2_0 t3=[0] v_x3=[v_0*math.cos(angle[1])] v_y3=[v_0*math.sin(angle[1])] x3=[0] y3=[0] while y3[-1]>=0: A3=math.pow((1-0.0065*y3[-1]/298.15),2.5) x3.append(x3[-1]+v_x3[-1]*dt) y3.append(y3[-1]+v_y3[-1]*dt) v_x3.append(v_x3[-1]- B3*A3*v_0*v_x3[-1]*dt/m) v_y3.append(v_y3[-1] - g*dt - B3*A3*v_0*v_y3[-1]*dt/m) t3.append(t3[-1]+dt) print ('初始速度:',v_0, '\n','落点:', 'x:',x3[-1],'y:',y3[-1], '\n''飞行时间:',t3[-1]) pl.figure(figsize=(10,10)) pl.plot(x2,y2,label="B2_0=0.0106",color="black",linewidth=2) pl.plot(x3,y3,label="B2=B2_0*exp(-y/10000)",color="green",linewidth=2) pl.xlabel("x(m)") pl.ylabel("y(m)") pl.title('adiabatic model of ideal gas at higher altitude') pl.ylim(0,4000) pl.legend() pl.show()