2022-01-17から1日間の記事一覧

メトロポリス法でガウス積分を求める

import random import math import matplotlib.pyplot as plt from tqdm import tqdm niters = [int(1e3),int(1e5),int(1e7)] # niter = 1000 for niter in tqdm(niters): step_size = 0.5 x = 0 naccept = 0 xs = [] for i in range(niter): backup_x = x a…

モンテカルロ法でガウス関数の積分を求める

を求める。 とすると、乱数r(-a≤r≤a)に対する関数の値の値の平均値を計算し、積分区間の幅をこのにかけることで、もとの定積分の近似値が求まる import random import math import numpy as np import matplotlib.pyplot as plt from tqdm import tqdm a_s =…

モンテカルロ法で円周率を求める

import random from re import I N = 1000000 p_in = 0 p_out = 0 for _ in range(N): rx = random.random() ry = random.random() if rx**2+ry**2 <=1: # inside p_in += 1 else: p_out += 1 all = p_in+p_out target_area = p_in/all circumference = targ…