视频源码
import numpy as np
import matplotlib.pyplot as plt
def latin_hypercube_2D_uniform(n):
lower_limits = np.arange(0, n) / n
upper_limits = np.arange(1, 1 + n) / n
points = np.random.uniform(low=lower_limits, high=upper_limits, size=[2, n]).T
np.random.shuffle(points[:, 1])
return points
n = 10
p = latin_hypercube_2D_uniform(n)
print(p)
plt.figure(figsize=[5, 5])
plt.title('LHS DEMO')
plt.xlim([0, 1])
plt.ylim([0, 1])
plt.scatter(p[:, 0], p[:, 1], c='r')
for i in np.arange(0, 1, 1 / n):
plt.axvline(i)
plt.axhline(i)
plt.show()
标签: