在MATLAB中验证散度定理:矢量场与指定边界的积分边界设置求助
MATLAB中验证散度定理的积分边界设置
一、体积分(散度的三重积分)
积分区域E由上球面 (x2+y2+z^2=2) 和下锥面 (z=\sqrt{x2+y2}) 围成,先明确边界范围:
- 联立两曲面方程,解得交线为 (x2+y2=1)、(z=1)
- 采用柱坐标简化计算:令 (x=r\cos\theta),(y=r\sin\theta),(z=z),雅可比行列式为 (r)
- 变量取值范围:(\theta \in [0, 2\pi]),(r \in [0,1]),(z) 从锥面 (z=r) 到球面 (z=\sqrt{2-r^2})
对应MATLAB代码:
syms x y z F(x,y,z) = [x^2*y^2, y^2*z^2, z^2*x^2]; div = divergence(F, [x,y,z]); % 转换为柱坐标计算体积分 syms r theta z_cyl div_cyl = subs(div, {x,y}, {r*cos(theta), r*sin(theta)}); volume_integral = int(int(int(div_cyl * r, z_cyl, r, sqrt(2 - r^2)), r, 0, 1), theta, 0, 2*pi); volume_integral = simplify(volume_integral)
二、曲面积分(闭合曲面的通量)
闭合曲面分为上球面 (S_1) 和下锥面 (S_2) 两部分,需分别计算通量再求和,注意法向量方向为向外。
1. 上球面 (S_1: z=\sqrt{2-x2-y2})((x2+y2 \leq 1))
- 以 (x,y) 为参数,曲面的向外法向量为 ((-\frac{\partial z}{\partial x}, -\frac{\partial z}{\partial y}, 1))
- 积分区域在xy平面的投影为 (x2+y2 \leq 1)
代码:
syms x y % 球面参数代入矢量场 z1 = sqrt(2 - x^2 - y^2); F_S1 = subs(F, z, z1); % 计算法向量 n_S1 = [-diff(z1, x), -diff(z1, y), 1]; % 计算曲面积分 S1_integral = int(int(dot(F_S1, n_S1), y, -sqrt(1 - x^2), sqrt(1 - x^2)), x, -1, 1); S1_integral = simplify(S1_integral)
2. 下锥面 (S_2: z=\sqrt{x2+y2})((x2+y2 \leq 1))
- 以 (x,y) 为参数,向外法向量指向下方,为 ((\frac{\partial z}{\partial x}, \frac{\partial z}{\partial y}, -1))
- 积分区域在xy平面的投影同样为 (x2+y2 \leq 1)
代码:
% 锥面参数代入矢量场 z2 = sqrt(x^2 + y^2); F_S2 = subs(F, z, z2); % 计算向外法向量 n_S2 = [diff(z2, x), diff(z2, y), -1]; % 计算曲面积分 S2_integral = int(int(dot(F_S2, n_S2), y, -sqrt(1 - x^2), sqrt(1 - x^2)), x, -1, 1); S2_integral = simplify(S2_integral)
总曲面积分
surface_integral = S1_integral + S2_integral; surface_integral = simplify(surface_integral)
最终验证:体积分与曲面积分的结果应完全相等,以此验证散度定理的正确性。
内容的提问来源于stack exchange,提问作者camnoodle
相关产品推荐
相关产品推荐

