【发布时间】:2020-12-16 14:24:40
【问题描述】:
我被指示创建一个函数,该函数返回给定数量粒子的位置。这是一个随机的一维运动,粒子在 X=0 线的中心,线长 40mm。我在编码我的函数时遇到问题,以便粒子在线条边缘反射。
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
import random as rd
import math as m
Box_width=20
dx=1
No_p_motions=1000
def particle_motion_1D(n):
x=0
for i in range(n):
New_x=rd.choice([(dx),(-dx)])
x=x+New_x
while True:
x=x+New_x
if x < -20:
x = x + dx
elsif x > 20:
x = x -dx
return(x)
for i in range(20):
P_steps = particle_motion_1D(100)
print(P_steps)
【问题讨论】:
-
if x < -20这是错误的,执行if x < -20:并使用缩进
标签: python montecarlo