Suprising results using matlabs quad to solve a simple double definite integral.

1 vue (au cours des 30 derniers jours)
Hi everyone, i have a complex function which i have written a matlab function to execute, but before that i did a simple example of definite integral of the form
int_0^1 log int_0^1 x+y dxdy .(here 'int' is the integral sign, underscore 0 hat 1 are the limits of integration, done w.r.t x and y)
doing this by pen and paper gives me -1.33333... but using this code below.i get a wrong answer.
function z1=intlog(y)
%intlog is a function executing the inner integral with respect to %x.
n=length(y);
z=zeros(size(y));
for j=1:n
a=0;b=1;
h=@(x) (x+y(j));
z(j)=quad(h,a,b);
z1=log(z);
end
to run this write in command window:
q=quad(@intlog,0,1)
which gives me a wrong answer. any explanation for this. I am using matlab release 2009a.
Thanks in anticipation.
  3 commentaires
Jan
Jan le 1 Août 2011
Can you explain the similarities to http://www.mathworks.com/matlabcentral/answers/12775-matlab-quad-function-results-wrong ?
Silibelo Kamwi
Silibelo Kamwi le 1 Août 2011
Jan, i posted the question twice and once i was in the office the other one i was at home and i was not sure of whether i did post the first question.
Thanks

Connectez-vous pour commenter.

Réponse acceptée

the cyclist
the cyclist le 31 Juil 2011
Your pen and paper solution is incorrect. The correct analytic answer is 3*ln(3)/2 - ln(2) - 1 ~= -0.0452, which is spot-on with your code. [Here "ln" is natural log.]

Plus de réponses (0)

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by