python - 如何从列表中随机选择一个元素,然后使用一个简单的公式来更改这个值(并在 for 循环中进行)?
问题描述
我正在做一个在盒子(二维)内生成粒子的任务。现在,这些粒子应该在盒子内移动,因此可以计算能量的变化。该算法应该一次只改变一个粒子的位置,然后计算速度。这样就可以计算动能。也许只包含算法的描述(蒙特卡洛)更容易:
我的问题或疑问是我想选择列表中的一个元素,根据以下内容更改该元素/位置:
如果我能做到这一点,那么可以通过将位置差除以时间来找到速度。所以我想要一个for循环随机遍历所有位置并计算能量。现在我只能计算同一个粒子的速度。这是我的代码:
import random
import numpy as np
import matplotlib.pyplot as plt
r_1=random.uniform(0,1)
r_2=random.uniform(0,1)
N=20
LX=10
LY=10
a=1
b=0.5
dt=0.01
x=np.zeros(N)
y=np.zeros(N)
vx=np.zeros(N)
vy=np.zeros(N)
for i in range(N):
x[i]=random.uniform(0,LX)
y[i]=random.uniform(0,LY)
l=random.choice(range(len(x)))
for l in range(N):
l=random.choice(range(len(x)))
x_initial=x[l]
#k=random.choice(range(len(y)))
x[l]=x[l]+(r_1-0.5)*b
x_final=x[l]
vx[l]=(x_final-x_initial)/dt
print(vx)
解决方案
推荐阅读
- html - 如何将排好序的列重置为其初始状态
- python - 如何使用自定义 COCO 风格的数据集重新训练 Torchvision 的关键点 R-CNN?
- redux - 嗨,我在为我的 redux 简单启动器样板运行 npm start 时遇到了问题。我可以知道如何解决显示的错误吗?
- javascript - 调用不带括号的 JS 函数?
- python - 将附加的引用参数作为参数传递给类中的回调对象
- visual-studio-code - 我没有 C:\\Users\\Dhruvil\\.platformio\\packages\\framework-arduinoststm32
- javascript - 以同一个类为目标,但避免一起运行该函数
- mysql - 如何在 where 子句中使用 if-else
- node.js - Firebase Cloud Function Keep 返回“请求失败,状态码 404”
- wordpress - Woocommerce 钩子:如何在主页的特色产品中添加内容?