Getting the area of a surface integral from Matlab
조회 수: 6 (최근 30일)
이전 댓글 표시
I'd like to approve my solution of
where
is the unit sphere
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/607900/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/607905/image.png)
Therefore I want to calculate
where
is the parametrization of the unit sphere: ![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/607920/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/607910/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/607915/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/607920/image.png)
syms phi the
x = cos(phi).*sin(the);
y = sin(phi).*sin(the);
z = cos(the);
density = x.^2;
para = [x;y;z];
dphi = diff(para,phi);
dthe = diff(para,the);
c = cross(dphi,dthe);
int(int(density*norm(c),phi,0,2*pi),the,0,pi)
Like in my previous quesion I get a cryptic answere, not really any helpfull probably because norm(c) is overcomplicated
Also is there another way to approve the solution. e.g. with trapz?
댓글 수: 0
채택된 답변
Star Strider
2021년 5월 5일
See if simplifying it does what you want —
syms phi the
x = cos(phi).*sin(the);
y = sin(phi).*sin(the);
z = cos(the);
density = x.^2;
para = [x;y;z];
dphi = diff(para,phi);
dthe = diff(para,the);
c = cross(dphi,dthe);
Int2 = int(int(density*norm(c),phi,0,2*pi),the,0,pi)
Int2 = simplify(Int2, 500)
.
댓글 수: 2
Star Strider
2021년 5월 5일
No worries!
The full documentation would likely suggest —
Int2 = simplify(Int2, 'Steps',500)
Leaving out the 'Steps' name in the name-value pair is a shortened way of specifying it. Other name-value pairs require the name to be specified as well, also if more than one are specified.
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!