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

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

蒙特卡洛多重積分demo

2024-11-08 09:21:14
2
0
import numpy as np
from scipy import integrate

## (x1)^2(x2)^2(x3)^2 在 [0,1] 的積分

a1, b1 = 1, 2
a2, b2 = 3, 4
a3, b3 = 1, 5


# 三重積分計算
def f(x1, x2, x3):
return x1 ** 2 * x2 ** 2 * x3 ** 2


I_exact, Error = integrate.tplquad(f, a1, b1, a2, b2, a3, b3)
np.random.seed(1)

# 平均值法
N = 10000
x1_sample = a1 + (b1 - a1) * np.random.rand(N)
x2_sample = a2 + (b2 - a2) * np.random.rand(N)
x3_sample = a3 + (b3 - a3) * np.random.rand(N)

h_x = f(x1_sample, x2_sample, x3_sample)
I_approx_stat = (b3 - a3) * (b2 - a2) * (b1 - a1) / N * np.sum(h_x)

# 數值積分
M = 200
h1 = (b1 - a1) / (M - 1)
h2 = (b2 - a2) / (M - 1)
h3 = (b3 - a3) / (M - 1)
x1 = np.linspace(a1, b1, M)
x2 = np.linspace(a2, b2, M)
x3 = np.linspace(a3, b3, M)
x1_mesh, x2_mesh, x3_mesh = np.meshgrid(x1, x2, x3)
I_approx_rec = np.sum(f(x1_mesh, x2_mesh, x3_mesh) * h1 * h2 * h3)

print('多重積分值:', I_exact)
print('\n平均值法結果:', I_approx_stat)
print('\n數值積分結果:', I_approx_rec)

0條評論
作者已關閉評論
Top123
32文章數
3粉絲數
Top123
32 文章 | 3 粉絲
Top123
32文章數
3粉絲數
Top123
32 文章 | 3 粉絲
原創

蒙特卡洛多重積分demo

2024-11-08 09:21:14
2
0
import numpy as np
from scipy import integrate

## (x1)^2(x2)^2(x3)^2 在 [0,1] 的積分

a1, b1 = 1, 2
a2, b2 = 3, 4
a3, b3 = 1, 5


# 三重積分計算
def f(x1, x2, x3):
return x1 ** 2 * x2 ** 2 * x3 ** 2


I_exact, Error = integrate.tplquad(f, a1, b1, a2, b2, a3, b3)
np.random.seed(1)

# 平均值法
N = 10000
x1_sample = a1 + (b1 - a1) * np.random.rand(N)
x2_sample = a2 + (b2 - a2) * np.random.rand(N)
x3_sample = a3 + (b3 - a3) * np.random.rand(N)

h_x = f(x1_sample, x2_sample, x3_sample)
I_approx_stat = (b3 - a3) * (b2 - a2) * (b1 - a1) / N * np.sum(h_x)

# 數值積分
M = 200
h1 = (b1 - a1) / (M - 1)
h2 = (b2 - a2) / (M - 1)
h3 = (b3 - a3) / (M - 1)
x1 = np.linspace(a1, b1, M)
x2 = np.linspace(a2, b2, M)
x3 = np.linspace(a3, b3, M)
x1_mesh, x2_mesh, x3_mesh = np.meshgrid(x1, x2, x3)
I_approx_rec = np.sum(f(x1_mesh, x2_mesh, x3_mesh) * h1 * h2 * h3)

print('多重積分值:', I_exact)
print('\n平均值法結果:', I_approx_stat)
print('\n數值積分結果:', I_approx_rec)

文章來自個人專欄
文章 | 訂閱
0條評論
作者已關閉評論
作者已關閉評論
0
0