|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
2 E! y- n: t5 KMATLAB语言并未直接提供曲面积分的现成函数,因此,此处给出计算曲面积分的函数。
& P ~# k) C- s3 m
' H1 t/ {/ h2 H& B. _ |目录
+ @+ V* t, R+ g: B, S! J. Y' N函数说明
) w4 x5 w) ~0 A% I+ Z( E+ Y. _8 d应用举例: v% X+ Z6 k6 s* \
第一类曲面积分
4 j- }' A- l( S6 C5 h4 e* |0 Y第二类曲面积分
- L9 k4 i" B& ~! P函数实现
1 L, z/ s, P& ]- e2 A9 B
, ~" h# H- B7 u5 b$ D4 }, }& \函数说明
5 m5 ?7 M& p2 \2 |5 F# |- w
7 `; M2 |( r, U9 m3 R# F- 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])
7 A1 |8 g) _/ A U: }( u . \% Z8 J& q* _2 v
9 g# {2 R# N. B9 v E1 U3 O- }& h
应用举例
5 Z) S6 f0 T- U* P
* n( h! j6 w/ M第一类曲面积分, ~. o6 t% x% a5 ^- D
1. 计算
, 积分曲面如下:
* i, n7 _8 X% v M5 p/ K4 A1 j6 |" ?$ H' v: B( u l6 v+ ?; o/ K3 ?
* y! b/ c# P2 F1 g求解方法
( o" ]; Y8 W2 F3 x) G7 `: v6 t! A2 K) e+ |5 T" s
- 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])% }2 E$ I8 S5 Z) v Y( D
+ Y6 q! _; _- W
- d& D3 T7 P: S6 ~( W
第二类曲面积分
6 |5 ^ w5 Z. p6 v( e7 h( A
( p- }2 x! i& ^( X I( o" {2. 计算曲面积分
, 积分曲面如下:
# ?* R/ r- _& A5 X: W4 E% G; _5 @% o
的上半部,且积分沿椭球面的上面。$ f9 Z a: ^3 Z
注:引入参数方程:
; 且
3 M" m: k3 y, {/ T
5 V. _/ H2 I; T2 v0 [4 a/ y
0 I! J2 u( P, U+ B; @6 x/ Q( M4 I求解方法
7 A K' U3 }& b$ C
g x, m% ~/ c- 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])
# G n. n l9 x9 ]! A4 x* P
4 |3 v X6 V- |# g9 |0 [! X, N7 E) v. X1 C/ ~1 |* |( \
函数实现1 j& L5 V. S! h4 j4 `% M1 l# c) U
1 i5 O+ P: |' Z2 n" X3 `- 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
- q3 {: ~. p, K! y
M) z8 W1 B5 {, r7 A8 j2 D |
|