Python实现布朗运动和莱维飞行的代码
时间: 2024-03-25 19:37:16 浏览: 75
以下是Python实现布朗运动和莱维飞行的简单代码示例:
布朗运动:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义参数
T = 1.0
N = 1000
dt = T/N
# 创建随机游走序列
x = np.zeros(N+1)
for i in range(1, N+1):
x[i] = x[i-1] + np.random.normal(0, np.sqrt(dt))
# 绘制图像
t = np.linspace(0.0, T, N+1)
plt.plot(t, x)
plt.xlabel('Time')
plt.ylabel('Position')
plt.title('Brownian Motion')
plt.show()
```
莱维飞行:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义参数
T = 1.0
N = 1000
dt = T/N
alpha = 1.5
beta = 1.0
# 创建随机游走序列
x = np.zeros(N+1)
for i in range(1, N+1):
delta_x = np.random.normal(0, np.sqrt(dt)) # 步长
delta_t = np.random.exponential(beta) # 时间间隔
x[i] = x[i-1] + delta_x * (delta_t ** (1/alpha))
# 绘制图像
t = np.cumsum(np.random.exponential(beta, size=N+1))
plt.plot(t, x)
plt.xlabel('Time')
plt.ylabel('Position')
plt.title('Levy Flight')
plt.show()
```
以上代码仅供参考,实际应用中需要根据具体需求进行修改和调整。
阅读全文