MATLAB Answers

double integration of parametric function

31 views (last 30 days)
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 Comments

Sign in to comment.

Accepted Answer

David Goodmanson
David Goodmanson on 15 Apr 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 Comments

Danny Van Elsen
Danny Van Elsen on 16 Apr 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 on 17 Apr 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.

Sign in to comment.

More Answers (1)

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

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by