NaN (Not a Number) problem in integration

2 views (last 30 days)
Hi all. I am trying to calculate this integration, it gives NaN ,instead of pi/2. How can I solve the problem?
mz=zeros(4,1); h=zeros(4); I=eye(4);
f=@(x)(arrayfun(@(x)(exp(-mz'*(1./(h+((sin(x).^2).*I)))*mz)),x));
out = quad(f,0,pi/2)
Thanks

Accepted Answer

José-Luis
José-Luis on 19 Sep 2012
Edited: José-Luis on 19 Sep 2012
No, it should not give you pi/2. The way you have set up your matrices, the expression
h+((sin(x).^2).*I)))*mz
will always be equal to zero. Division by 0 = Inf.
  4 Comments
Serhat
Serhat on 19 Sep 2012
Now it works, you are right. I put parentheses at wrong places. Thank you very much.
f = @(theta)(arrayfun(@(x)(det(sigmaZ./sin(x).^2+eye(4,4)).^-1)*exp(-1*mZ'*1/(sigmaZ+sin(x).^2.*eye(4))*mZ),theta));

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!