|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
- @ h7 {3 Q0 C$ i4 tMATLAB语言并未直接提供曲面积分的现成函数,因此,此处给出计算曲面积分的函数。
% W# d( B! d8 w) O7 B
2 h9 m0 D `. M4 V5 n6 ]+ o) x/ E目录
; g$ Y. A$ |( [4 G, k9 A函数说明
7 p9 q9 U% A) D/ a6 m应用举例
3 v) c. _* K, T4 m) K第一类曲面积分- g" c+ o% j/ E( f7 B- h
第二类曲面积分
2 b$ R! H2 b }+ h- `函数实现2 ^( a8 F' F+ v2 N* L7 t- H
/ \* x0 R4 [4 E/ @; T5 H
函数说明
1 c$ ^2 f' t, N: l$ i" K8 `5 I4 t
1 a2 Y# S* {7 C' N2 f5 t; |4 ~* E+ ~- 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])5 J+ ?* i+ `1 C+ z, A
9 ^& r) Z+ x& h3 n
5 w, D8 v* }. f% m2 c应用举例
2 ~, `+ [0 W/ r" i; O8 n% v# h& j# W* i2 G) k) X( q
第一类曲面积分! `3 E( Y n8 q, p* z0 h# v
1. 计算
, 积分曲面如下:
$ C6 q; r- N- H( i
& ^4 S8 O. {) r1 [
5 @! N) @: Z8 w. o! D* N3 C# f
求解方法
, G$ n$ Q4 q4 e5 s+ ]
( a* a2 a6 d0 p- 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])& p q: \3 I7 V/ b. j# `$ F3 E9 \
: ^" A$ @! ?7 w
5 z9 T0 C: ]9 f) G, Q' R
第二类曲面积分
. q# s5 s( @: z& ?0 H' q4 R
% c: D t6 w; l9 ]2. 计算曲面积分
, 积分曲面如下:
% X8 y7 x8 z2 b, O$ d- `
的上半部,且积分沿椭球面的上面。
: y4 P- `9 ^6 h- I( X" L注:引入参数方程:
; 且
9 B9 ?. S- C% b/ W" i( `. g# w/ y' t9 a6 W8 e( D# z- x e7 `1 Q
! W8 i: A4 F9 z: t求解方法& X9 M4 S3 g- Z
1 T# M8 v# h: K I9 r1 D
- 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])
5 u' @* _0 _8 \- T$ X" P 2 _! V5 F o3 L% l% K3 V, T
3 X9 k+ M, v) V" D* V6 w
函数实现, S! r: E4 r2 w) L8 X( X8 ~4 b
, a9 b2 Q7 z' Z& ]# ^- 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
5 p) n8 ]" E6 S6 d " b& B h- M S8 O7 S, m" O* @+ X3 o
|
|