double integration of parametric function
3 ビュー (過去 30 日間)
古いコメントを表示
Danny Van Elsen
2020 年 4 月 10 日
コメント済み: David Goodmanson
2020 年 4 月 17 日
hello all,
I know how to plot a parametric surface, for example as in
syms u v
x = u * cos(v);
y = u * sin(v);
z = v;
fsurf(x, y, z, [0 5 0 4*pi])
but can someone point me to the appropriate function for the double integration that calculates the surface area, for example over the interval
0 <= u <= 5
0 <= v <= 4*pi
of the example above?
regards, Danny.
0 件のコメント
採用された回答
David Goodmanson
2020 年 4 月 15 日
Hi Danny,
You can find the surface area by finding the vectors Du and Dv that are parallel to the surface when you vary u and v respectively. Taking their cross product gives the the normal unit vector n, times the area element dS of a parallelogram whose area is proportional to dudv. Integrating the area elements give the total area. Since the area element does not depend on v, you can multiply by 4*pi and just do the u integral.
This procedure is analogous to finding the Jacobian. It's almost easier to do this by hand than to use syms, but
syms u v a real
x = u * cos(v);
y = u * sin(v);
z = a*v; % in case you want to vary the pitch
zplot = v;
fsurf(x, y, zplot, [0 5 0 4*pi])
Du = diff([x,y,z],u) % Du is diff() times du
Dv = diff([x,y,z],v) % Dv is diff() times dv
dS = simplify(norm(cross(Du,Dv)))
Area = 4*pi*int(dS,0,5)
double(subs(Area,a,1))
% results
Du = [ cos(v), sin(v), 0]
Dv = [ -u*sin(v), u*cos(v), a]
dS = (a^2 + u^2)^(1/2)
Area = 4*pi*((a^2*log((a^2 + 25)^(1/2) + 5))/2 - (a^2*log(a^2))/4 + (5*(a^2 + 25)^(1/2))/2)
ans = 174.7199
2 件のコメント
David Goodmanson
2020 年 4 月 17 日
Hi Danny, I don't think so, although I would be happy to be proved wrong. For a volume integral you can at least get the Jacobian basically in one line with symbolic variables.
その他の回答 (1 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!