python - python中的二维随机游走-从分布中绘制斜边

标签 python random trigonometry hypotenuse

我正在用 Python 编写一个简单的二维布朗运动模拟器。显然,从分布中绘制 x 位移和 y 位移的值很容易,但我必须对其进行设置,以便从分布中绘制 2d 位移(即斜边),然后将其转换为新的 x 和 y 坐标。这可能是微不足道的,而且我离三角学太远了,记不住如何正确地做它。我是否需要生成斜边的值,然后将其转换为带有 sin 和 cos 的 x 和 y 位移? (你如何正确地做到这一点?)

最佳答案

最好的方法是使用极坐标 (r, theta) 作为您的分布(其中 r 是您的“斜边”)) ,然后使用 x = r cos(theta)y = r sin(theta) 将结果转换为 (x, y) 。也就是说,从您喜欢的任何分布中选择 r,然后选择 theta(通常是从 0 到 360 度的平面分布),然后将这些值转换为 xy

反之亦然(即构建给出方向独立斜边的相关 (x, y) 分布)将非常困难。

关于python - python中的二维随机游走-从分布中绘制斜边,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9297679/

相关文章:

python - 如何使用 numpy 种子创建确定性随机数生成器?

css - 如何在 Less 中计算正弦、余弦?

c - C 中的图形函数

python - 全局变量仅适用于一个用户

python - 使用 stdout Popen 捕获 sqoop 日志

python - 在方法之间读/写文件

java - 快速 vector 差异/相似性度量

python - DjangoCMS 创建项目失败

r - 在 R 中拟合多峰分布;从拟合分布生成新值

scala - 在 Scala 中获取随机元素的有效方法?