Skip to content

Instantly share code, notes, and snippets.

@hiramekun
Created June 6, 2018 07:01
Show Gist options
  • Save hiramekun/8da9977d51535fde322f36534712d613 to your computer and use it in GitHub Desktop.
Save hiramekun/8da9977d51535fde322f36534712d613 to your computer and use it in GitHub Desktop.
配列生成方法
def setup():
np.random.seed(100)
x = np.zeros(1000)
u = np.random.rand(1000)
flag = (u >= 0) & (u < 1/8)
x[flag] = np.sqrt(8 * u[flag])
flag = (u >= 1/8) & (u < 1/4)
x[flag] = 2 - np.sqrt(2 - 8 * u[flag])
flag = (u >= 1/4) & (u < 1/2)
x[flag] = 1 + 4 * u[flag]
flag = (u >= 1/2) & (u < 3/4)
x[flag] = 3 + np.sqrt(4 * u[flag] - 2)
flag = (u >= 3/4) & (u <= 1)
x[flag] = 5 - np.sqrt(4 - 4 * u[flag])
return x
@hiramekun
Copy link
Author

flag = (u >= 0) & (u < 1/8) で範囲指定
x[flag] = np.sqrt(8 * u[flag]) でその範囲内の数値のみ変更

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment