필터 지우기
필터 지우기

Infinite or Not-a-Number function value encountered.

조회 수: 1 (최근 30일)
MinHyung
MinHyung 2013년 8월 20일
Originally I tried to calculate
int(int((sin(q*A*sin(phi)/2)*sin(q*B*sin(phi)/2)*4/(q^2*A*B*sin(phi)*cos(phi)))^2*sin(q*C*cos(theta)/2)*2/(C*q))^2*sin(theta),theta,0,pi/2),phi,0.pi/2)
however MATLAB fail to show proper equation. So I change to use 'quad' function instead of 'int'
I just put A=B=C=7 and q=0.1 and tried to calculate...but failed. How can I calculate this equation?
-(183750365601059840*sin((7/20*sin(phi))).^4)./(8477503880968187*sin(phi).^2.*(sin(phi).^2. - 1) --> this equation comes from int((sin(q*A*sin(phi)/2)*sin(q*B*sin(phi)/2)*4/(q^2*A*B*sin(phi)*cos(phi)))^2*(sin(q*C*cos(theta)/2)*2/(C*q))^2*sin(theta),theta,0,pi/2) and put A, B, C, q values.
------------------------------------------------------------------------------------------
quad(@(phi) -(183750365601059840*sin((7/20*sin(phi))).^4)./(8477503880968187*sin(phi).^2.*(sin(phi).^2. - 1)),0.0001,pi/2)
Warning: Infinite or Not-a-Number function value encountered.
> In quad at 109
ans =
NaN

채택된 답변

David Sanchez
David Sanchez 2013년 8월 20일
Besides the parenthesis unbalanced, you are dividing by zero.
for phi = pi/2
(8477503880968187*sin(phi)).^2.*(sin(phi).^2. - 1) = 0
Then:
r=-(183750365601059840*sin((7/20*sin(phi))).^4)/...
(8477503880968187*sin(phi)).^2.*(sin(phi).^2. - 1)
will yield NaN.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by