python - 如何在 python 中生成三个随机数作为满足向量大小的向量分量
问题描述
我想知道如何在 python 中为方程式 F = sqrt (Fx^2+ Fy^2+Fz^2) 中的 Fx、Fy 和 Fz 生成随机数,其中 F 例如是 [10, 20, 30, 40] 而且我还想将 Fx、Fy 和 Fz 的值存储在三个不同的列表中。
先感谢您。
解决方案
这描述了球体上的点,我们可以使用这些信息来计算该球体上的随机点:
import random
import math
def random_F(r):
phi=random.uniform(0,2*math.pi)
theta = random.uniform(0,2*math.pi)
Fx = r*math.cos(phi)*math.sin(theta)
Fy = r*math.sin(phi)*math.sin(theta)
Fz = r*math.cos(theta)
return Fx,Fy,Fz
Fx=[0]*4
Fy=[0]*4
Fz=[0]*4
for i in range(4):
Fx[i],Fy[i],Fz[i] = random_F(10+10*i)
# checking if correct
for i in range(4):
print(math.sqrt(Fx[i]**2+Fy[i]**2+Fz[i]**2))
输出:
10.0
20.0
30.0
40.0
推荐阅读
- python - 投资组合优化 - 拉动个股
- php - 网页在长脚本上超时
- python - Python & ML - 我需要帮助从给定数据集创建嵌套字典
- php - 在 Ubuntu 上使用 PhpStorm 进行 Xdebug
- python - 使用 Python 比较 2 个 CSV 文件
- javascript - 啊,啪!尝试使用 Fabric JS 在移动设备中加载大画布时的屏幕
- django - Django 多项选择字段数据在 POST 数据和表单数据中有所不同
- java - 在android应用程序中测试谷歌订阅不起作用
- string - Bash 字符串参数打印有不必要的撇号
- api - 将纬度和经度值作为变量传递时,在 REST API 中出现 BAD 请求错误