*Problem Find area surface *

1 次查看(过去 30 天)
justin  Taylor
justin Taylor 2011-12-18
x = ( 1-u )(3+cos v)cos(2pi*u)
y = ( 1-u )(3+cos v)sin(2pi*u)
z = 4u + ( 1-u )sinv.
D={(u,v)|0<=u<=1,0<=v<=2pi}
mycode
{ syms u v;
x = (1-u).*(3+cos(v)).*cos(pi*u);
y = (1-u).*(3+cos(v)).*sin(pi*u);
z = 8*u+( 1-u ).*sin(v);
F=[x,y,z];
ru=diff(F,[u]);
rv=diff(F,[v]);
ruv=ru.*rv;
druv=sqrt(ruv(1).^2+ruv(2).^2+ruv(3).^2);
S=int(int(druv,u,0,1),v,0,2*pi)
}

采纳的回答

bym
bym 2011-12-18
you are going to need:
a =feval(symengine,'linalg::crossProduct',ru,rv)% .* is not cross product!
b =feval(symengine,'norm',a,2)
once you get the integrand (b) then I would suggest you evaluate it numerically rather than symbolically. You can use
MatlabFunction()
to turn it into a function to pass to
dblquad
  7 个评论
bym
bym 2011-12-19
the expression is for the _cross_ product not _dot_ product.
Walter Roberson
Walter Roberson 2011-12-20
Some day I will learn, "Never feed them after Midnight". ;-)

请先登录,再进行评论。

更多回答(0 个)

标签

尚未输入任何标签。

Community Treasure Hunt

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

Start Hunting!

Translated by