double integration of parametric function

13 vues (au cours des 30 derniers jours)
Danny Van Elsen
Danny Van Elsen le 10 Avr 2020
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.

Réponse acceptée

David Goodmanson
David Goodmanson le 15 Avr 2020
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 commentaires
Danny Van Elsen
Danny Van Elsen le 16 Avr 2020
Modifié(e) : Danny Van Elsen le 16 Avr 2020
hi David, thanks for your answer!
Indeed, I have the same solution as
(manual)
r = cos(v)i + u*sin(v)j + vk
dr/du = cos(v)i + sin(v)j
dr/dv = u*sin(v)i + u*cos(v)j + k
||dr/du X dr/dv|| = sqrt(sin(v)^2 + cos(v)^2 + u^2)
which then leads to the double integral
(matlab)
fun = @(u,v) sqrt(1 + u.^2)
q = integral2(fun, 0, 5, 0, 4*pi)
q = 174.7199
I can recognize the same elements in your answer.
But somehow, and probably naively, I was expecting there to be a function taking the r-vector and the limits as input, and then "just" calculate the area. In one line as it were. So this is probably not the case?
David Goodmanson
David Goodmanson le 17 Avr 2020
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.

Connectez-vous pour commenter.

Plus de réponses (1)

Rajat Tewari
Rajat Tewari le 13 Avr 2020
You can refer to integral2 function of MATLAB to calculate the double integraltion and area.

Produits


Version

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by