亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

利用蒙特卡洛求積分的幾種方法

2024-11-07 09:25:13
7
0
import numpy as np
import matplotlib.pyplot as plt

np.random.seed(0)

def f(x): # 求f(x)在2-3之間的定積分
return x ** 2


def f0():
def intf(x): # 原函數
return x ** 3 / 3.0

exactVal = intf(2) - intf(0)
return exactVal


def f1():
def g(x):
return 1 / 2

def z(x): # f(x)/g(x)
return f(x) / g(x)

a = 0
b = 2
N = 10000 # 一萬次實驗
X = np.random.uniform(low=a, high=b, size=N) # 利用均勻分布隨機生成N個區間為【a,b】的數
Y = z(X) # 帶入函數f(x)計算對應y值
return np.sum(Y) / N # 計算N次結果的均值


def f2():
def g(x):
return x / 2.0

def z(x): # f(x)/g(x)
return f(x) / g(x)

a = 0
b = 2
N = 10000 # 一萬次實驗
X = np.random.uniform(low=a, high=b, size=N) # 利用均勻分布隨機生成N個區間為【a,b】的數
Y = z(X) # 帶入函數f(x)計算對應y值
return np.sum(Y) / N # 計算N次結果的均值


def f3():
def g(x):
return 3 * x * x / 8.0

def z(x): # f(x)/g(x)
return f(x) / g(x)

a = 0
b = 2
N = 10000 # 一萬次實驗
X = np.random.uniform(low=a, high=b, size=N) # 利用均勻分布隨機生成N個區間為【a,b】的數
Y = z(X) # 帶入函數f(x)計算對應y值
return np.sum(Y) / N # 計算N次結果的均值


print(f0())
print(f1())
print(f2())
print(f3())

"""
2.6666666666666665
2.642675506081223
1.980958484741736
2.666666666666666
問題: f2() 為什么會比 f1() 差一些呢? 如何痕量選擇最佳的 q(x) 函數
"""
0條評論
作者已關閉評論
Top123
32文章數
3粉絲數
Top123
32 文章 | 3 粉絲
Top123
32文章數
3粉絲數
Top123
32 文章 | 3 粉絲
原創

利用蒙特卡洛求積分的幾種方法

2024-11-07 09:25:13
7
0
import numpy as np
import matplotlib.pyplot as plt

np.random.seed(0)

def f(x): # 求f(x)在2-3之間的定積分
return x ** 2


def f0():
def intf(x): # 原函數
return x ** 3 / 3.0

exactVal = intf(2) - intf(0)
return exactVal


def f1():
def g(x):
return 1 / 2

def z(x): # f(x)/g(x)
return f(x) / g(x)

a = 0
b = 2
N = 10000 # 一萬次實驗
X = np.random.uniform(low=a, high=b, size=N) # 利用均勻分布隨機生成N個區間為【a,b】的數
Y = z(X) # 帶入函數f(x)計算對應y值
return np.sum(Y) / N # 計算N次結果的均值


def f2():
def g(x):
return x / 2.0

def z(x): # f(x)/g(x)
return f(x) / g(x)

a = 0
b = 2
N = 10000 # 一萬次實驗
X = np.random.uniform(low=a, high=b, size=N) # 利用均勻分布隨機生成N個區間為【a,b】的數
Y = z(X) # 帶入函數f(x)計算對應y值
return np.sum(Y) / N # 計算N次結果的均值


def f3():
def g(x):
return 3 * x * x / 8.0

def z(x): # f(x)/g(x)
return f(x) / g(x)

a = 0
b = 2
N = 10000 # 一萬次實驗
X = np.random.uniform(low=a, high=b, size=N) # 利用均勻分布隨機生成N個區間為【a,b】的數
Y = z(X) # 帶入函數f(x)計算對應y值
return np.sum(Y) / N # 計算N次結果的均值


print(f0())
print(f1())
print(f2())
print(f3())

"""
2.6666666666666665
2.642675506081223
1.980958484741736
2.666666666666666
問題: f2() 為什么會比 f1() 差一些呢? 如何痕量選擇最佳的 q(x) 函數
"""
文章來自個人專欄
文章 | 訂閱
0條評論
作者已關閉評論
作者已關閉評論
0
0