专栏
标签
8月15日题目解答
主题活动
发布于 2025-08-18 21:52:52
查看 2过去314天

using QuadGK, HCubature

1. 计算第一个二重积分:∫₀²∫₀¹ (sin(x)√y + x) dx dy

function calculate_integral1()
# 内层积分(对x)在固定y时
inner_x(y_val) = quadgk(x -> sin(x)*sqrt(y_val) + x, 0, 1)[1]

# 外层积分(对y)
result, error = quadgk(inner_x, 0, 2)
return result

end

2. 计算三重积分:∫₀ᴾᴵ∫₀¹∫₋₁¹ (y sin(x) + z cos(x)) dx dy dz

function calculate_integral2()
# 最内层积分(对x)
function inner_x(y_val, z_val)
return quadgk(x -> y_valsin(x) + z_valcos(x), -1, 1)[1]
end

# 中间层积分(对y)
function inner_y(z_val)
    return quadgk(y -> inner_x(y, z_val), 0, 1)[1]
end

# 最外层积分(对z)
result, error = quadgk(inner_y, 0, π)
return result

end

3. 计算概率 P(A):点落在以(0,0)为圆心,半径为2的圆内

function calculate_probability()
# 矩形区域总面积
total_area = 4.0

# 定义指示函数:在圆内返回1,否则返回0
function indicator(xy)
    x, y = xy
    return (x^2 + y^2 <= 4.0) ? 1.0 : 0.0
end

# 在矩形区域[0,2]×[0,2]上计算二重积分
integral, error = hcubature(indicator, [0, 0], [2, 2])

# 概率 = 圆内面积 / 总面积
probability = integral / total_area
return probability

end

主程序

function main()
println("8月15日 题目解答")
println("\n1. 计算积分结果:")
println("(1) ∫₀²∫₀¹ (sin(x)√y + x) dx dy = ", calculate_integral1())
println("(2) ∫₀ᴾᴵ∫₀¹∫₋₁¹ (y sin(x) + z cos(x)) dx dy dz = ", calculate_integral2())

println("\n2. 概率计算:")
pA = calculate_probability()
println("事件A发生的概率 P(A) = ", pA)
println("解析值 π/4 ≈ ", π/4, " (用于验证)")

end

执行程序

main()

所属专栏:Syslab基础平台
产品信息:Sysplorer系统建模仿真环境
全国大学生数学建模竞赛

全部回答

暂无数据
暂无数据
用户
和原帖交流更多问题细节吧,去
我要发帖 我要发帖
资料中心 资料中心
查看更多>
热门帖子 热门帖子
主要贡献者 主要贡献者
过去7天