第一题
(1) 计算二重积分 ∫₀²∫₀¹((sinx)·√y + x)dxdy
println("(1) 二重积分计算:")
先定义内层积分函数(对x积分)
function inner_integral1(y)
f(x) = sin(x) * sqrt(y) + x
result, _ = quadgk(f, 0, 1)
return result
end
计算二重积分(对外层y积分)
double_result, _ = quadgk(inner_integral1, 0, 2)
println("二重积分数值结果: ", double_result)
println()
(2) 计算三重积分 ∫₀^π∫₀¹∫₋₁¹(ysin x + zcos x)dxdydz
println("(2) 三重积分计算:")
先定义最内层积分函数(对z积分)
function inner_integral2(x, y)
f(z) = y * sin(x) + z * cos(x)
result, _ = quadgk(f, -1, 1)
return result
end
定义中间层积分函数(对y积分)
function middle_integral2(x)
f(y) = inner_integral2(x, y)
result, _ = quadgk(f, 0, 1)
return result
end
计算三重积分(最外层对x积分)
triple_result, _ = quadgk(middle_integral2, 0, π)
println("三重积分数值结果: ", triple_result)
第二题
检查并安装必要的包
import Pkg
Pkg.add(["QuadGK"]) # 仅首次运行时需要安装
using QuadGK
定义内层积分函数:对于给定的x,计算y的积分
function inner_integral(x)
# y的上限是min(2, sqrt(4 - x^2)),因为y不能超过矩形边界2
y_upper = min(2.0, sqrt(4.0 - x^2))
# 对y从0到y_upper积分,被积函数为1
return quadgk(y -> 1.0, 0.0, y_upper)[1]
end
计算外层积分:x从0到2
integral_result, err = quadgk(inner_integral, 0.0, 2.0)
矩形区域面积
rect_area = 2.0 * 2.0
计算概率
probability_A = integral_result / rect_area
输出结果
println("事件A发生的概率P(A)为: ", probability_A)
println("数值积分误差估计: ", err)