|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
4 f" x( H& b' i6 N. Z6 V) i4 mMATLAB语言并未直接提供曲面积分的现成函数,因此,此处给出计算曲面积分的函数。
2 u: q: y' d5 J. d1 O3 t4 a# a9 G4 n
目录* _2 f/ Y4 I, c) i' C9 r. R9 X
函数说明
- {/ @8 q$ h0 Z' ^% q; `. A应用举例
% [: `: a A2 o( W4 k第一类曲面积分
0 r/ L0 z; T8 n5 C/ M第二类曲面积分
9 P7 k1 F* S/ k# `; H$ |函数实现
1 F; W1 u% W2 Z4 v$ d/ Z# a# [( D/ }( h5 k: T. J4 y- L7 A4 {6 O
函数说明
+ I! \4 J; {/ I$ ^. s6 @! z4 L2 p4 f" t4 i" L
- function I = suRF_integral(f,vars,t,a,b)
- %surf_integral
- %第一类曲面积分
- % I = surf_integral(f, z, [x,y], [x_m,x_M], [y_m,y_M])
- % I = surf_integral(f, [x,y,z], [u,v], [u_m,u_M], [v_m,v_M])
- % Examples:
- % 计算int_int(x^2*y+z*y^2)dS, 积分曲面如下:
- % x=ucosv, y=usinv, z=v, 0<=u<=a, 0<=v<=2*pi
- % MATLAB求解语句
- % syms u v; syms a positive;
- % x=u*cos(v); y=u*sin(v); z=v; f=x^2*y+z*y^2;
- % I = surf_integral(f,[x,y,z],[u,v],[0,a],[0,2*pi])
- %
- %第二类曲面积分
- % I = surf_integral([P,Q,R], z, [x,y], [x_m,x_M], [y_m,y_M])
- % I = surf_integral([P,Q,R], [x,y,z], [u,v], [u_m,u_M], [v_m,v_M])
- % 注意:I = int_int_S(P*dydz+Q*dxdz+R*dxdy)
- % Examples:
- % 计算曲面积分int_int(x*y+z)dxdy, 积分曲面如下:
- % (x/a)^2+(y/b)^2+(z/c)^2=1的上半部,且积分沿椭球面的上面。
- % 引入参数方程:x=a*sin(u)*cos(v),y=b*sin(u)*sin(v),z=c*cos(u);
- % 且0<=u<=pi/2, 0<=v<=2*pi 。
- % MATLAB求解语句
- % syms u v; syms a b c positive;
- % x=a*sin(u)*cos(v); y=b*sin(u)*sin(v); z=c*cos(u);
- % I = surf_integral([0, 0, x*y+z],[x,y,z],[u,v],[0,pi/2],[0,2*pi])
* W$ t* N5 g, v5 Z0 g1 B* y
" w4 }4 M, Q; z3 V! ` R
7 _9 E' x; [4 n W: W1 B应用举例) H J& a. W3 D$ L) u
9 `4 _1 N* Q& [( u4 R* G, d1 w# v x第一类曲面积分
3 J4 v# l) A6 U+ j: I1. 计算
, 积分曲面如下:
* ]: ^0 V( F# _4 ]: O' `) Z/ C& s) B$ O+ p4 p4 |9 ?
2 N; ~+ y" u- _9 R' u& z求解方法
- O8 G7 P- r9 _7 J/ @
0 Q) A) U, V6 t- syms u v; syms a positive;
- x=u*cos(v); y=u*sin(v); z=v; f=x^2*y+z*y^2;
- I = surf_integral(f,[x,y,z],[u,v],[0,a],[0,2*pi])' w% q0 `# e9 c9 m v/ b
$ P Q0 A9 o7 i+ \* z
4 k, j, t7 N$ M$ [2 I" r; _& P
第二类曲面积分+ i& G1 `! J/ I$ [
# i; T# e+ \+ a5 B2. 计算曲面积分
, 积分曲面如下:+ O% V- _( B/ r
的上半部,且积分沿椭球面的上面。+ j( N0 W D) M6 e8 c% ^( y+ ^
注:引入参数方程:
; 且
5 F* _- O* e3 v; e% E8 v3 D8 Y' d6 `* G
$ g* N; w- }) A, O4 S4 D
求解方法! z# c) @( {* f9 M9 x
( m& s j; Q3 |4 B- ^- syms u v; syms a b c positive;
- x=a*sin(u)*cos(v); y=b*sin(u)*sin(v); z=c*cos(u);
- I = surf_integral([0, 0, x*y+z],[x,y,z],[u,v],[0,pi/2],[0,2*pi])
, T) m; b4 C }! Q; D8 K5 u; r 8 _" H. A: C, A# v3 W- w7 A: G; b
6 H$ ?) A' o/ i/ o* ?2 l函数实现& ? J! a2 P: e s! X6 y5 x
% \' @- v7 ?) D$ V) {% F6 B2 Q
- function I = surf_integral(f,vars,t,a,b)
- if length(f)==1
- if length(vars)~=1
- E = simplify(sum(diff(vars,t(1)).^2));
- F = sum(diff(vars,t(1)).*diff(vars,t(2)));
- G = simplify(sum(diff(vars,t(2)).^2));
- else
- E = simplify(1+diff(vars,t(1))^2);
- F = diff(vars,t(1))*diff(vars,t(2));
- G = simplify(1+diff(vars,t(2))^2);
- end
- I = int(int(simplify(f*sqrt(E*G-F^2)),t(1),a(1),a(2)),t(2),b(1),b(2));
- else
- if length(vars)~=1
- A = diff(vars(2),t(1))*diff(vars(3),t(2)) - diff(vars(3),t(1))*diff(vars(2),t(2));
- B = diff(vars(3),t(1))*diff(vars(1),t(2)) - diff(vars(1),t(1))*diff(vars(3),t(2));
- C = diff(vars(1),t(1))*diff(vars(2),t(2)) - diff(vars(2),t(1))*diff(vars(1),t(2));
- else
- A = - diff(vars,t(1));
- B = - diff(vars,t(2));
- C = 1;
- end
- f = f(:); abc = [A, B, C];
- I = int(int(simplify(abc*f),t(1),a(1),a(2)),t(2),b(1),b(2));
- end. p, C/ n7 n9 w9 K3 ^
. J2 z+ w) N( c% e3 H9 P |
|