|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
) C$ p+ q( Q3 r( N
MATLAB语言并未直接提供曲面积分的现成函数,因此,此处给出计算曲面积分的函数。, E4 F( l5 n1 a! c, T
. R8 R2 z1 z5 P; ^ X: o: c8 j
目录
4 C- e7 P2 x$ L3 y- s函数说明
) O3 _* m; d* g* w- |. N3 j# p应用举例
0 g6 q- x" i) `5 q1 \; U( y第一类曲面积分) H* R, R4 i% X5 s* O
第二类曲面积分8 a, E+ u0 j5 Z1 I; A, y
函数实现1 a; z* ]/ i0 c8 G; H: ^& E
. N4 r/ ` s9 W2 F/ N
函数说明
4 P/ H$ [9 W7 F
) e' Q9 ~0 h0 U# a" Q* H) R7 r: m- 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])
" W1 D5 W0 p/ z0 T! F: B8 F$ X4 D 6 q; E" ~) F2 i! k: I7 m1 f
8 K) H6 Z- g0 j
应用举例
+ W, S! ]2 T* P, p' t% q* j$ O7 x9 w( p/ E* G. y1 P: p& [' t3 W# T
第一类曲面积分; [; V( o9 W* O0 k6 e
1. 计算
, 积分曲面如下:
0 ^3 d& X+ ~* H. O
. a8 x7 o3 \' y
0 S4 s" @5 L4 z0 p9 d7 b( J求解方法4 b* A2 F* }! x* W# G, d8 T1 H5 @
6 j1 L( N# J+ }; a- 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])
3 d& H: c5 \, h9 q7 V
2 k s+ r: O& e; P. R0 h2 e* \0 d7 J. U7 x' G) o+ B, i0 G7 R
第二类曲面积分
8 U! X% T2 c% m" e$ K( O( `3 `8 Q* X! l' K; C+ T, D7 D
2. 计算曲面积分
, 积分曲面如下:
@/ H+ G* C$ X- a& e
的上半部,且积分沿椭球面的上面。
, o0 w q: i$ l注:引入参数方程:
; 且
$ a: L3 Z$ Q9 \% M
( i8 c/ U, ?7 y/ O. G0 x" |) |, s
9 h, O" ~9 p1 F+ s4 x1 t( q3 b求解方法: e/ \+ a2 h5 G- M' T: W
- A' Q/ h2 e# z; [- 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]) b) K+ S2 Q5 U& V, }' {* l( M4 \
7 {! X6 n* }' g1 F( \
9 m0 B" k: e9 }. H) D# M- o0 k2 o函数实现$ T" P* l: i9 Y
6 V* ?; p+ d# t0 e8 b- 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
4 c8 c+ q5 n7 {& ~8 Y* _8 \. Z6 E
7 L8 t2 D, T" q) U/ `- ]; r |
|