专栏
标签
打卡第二天
主题活动
发布于 2025-08-18 22:15:45
查看 3过去314天

第一题

(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)

所属专栏:Syslab基础平台
产品信息:Syslab科学计算环境
MWORKS体验官全国大学生数学建模竞赛
附件 2 个附件(2kb)

全部回答

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