python - 拉丁超立方抽样
问题描述
LHS 方法提供 0 到 1 之间的采样值。例如,如果我想设置界限,一维值应该是 -0 到 15?我怎样才能在 pyDOE python 中做到这一点?
from pyDOE import *
n = 2
samples = 50
d = lhs(n, samples, criterion='center')
x1 = d[:,0]
x2 = d[:,1]
我的 x1 值应该在 -10 到 10 之间,x2 应该在 1 到 20 之间。
解决方案
我想到了
import pyDOE as pyd
bounds = np.array([[-10,10],[1,20]]) #[Bounds]
# print(xbounds)
X = pyd.lhs(2, 100, criterion='centermaximin')
X[:,0] = (X[:,0]*(bounds[0,1]-bounds[0,0])+bounds[0,0])
X[:,1] = (X[:,1]*(bounds[1,1]-bounds[1,0])+bounds[1,0])
推荐阅读
- c++ - 为什么分配对象的地址在 C++ 中不会改变?
- http-live-streaming - 从 ffmpeg 创建 vid 播放列表但元数据通过不同的进程创建时,如何使用 hls.js 格式化播放列表以进行实时播放?
- hyperledger-fabric - Hyperledger Fabric:如何将加密操作委托给 Hashicorp Vault?
- python - 调用 Windows DLL 的 python 不可知代码
- node.js - 在nodejs中结合来自2个url的json数据?
- r - 我正在尝试为我的 lapply 声明找出正确的论据
- python - 如何通过外键的属性对 Django 对象进行排序?
- actions-on-google - 无法将内容列表添加到我的操作
- react-spring - 如何设计模数弹簧
- java - 类中不同的初始化元素