Suprising results using matlabs quad to solve a simple double definite integral.
Show older comments
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 Comments
Jan
on 31 Jul 2011
Please format your code using the "{} Code" button.
I assume you forgot an "end" before "z1=log(z)", but this does not change the result.
Do you get -0.0452 as result?
Jan
on 1 Aug 2011
Can you explain the similarities to http://www.mathworks.com/matlabcentral/answers/12775-matlab-quad-function-results-wrong ?
Silibelo Kamwi
on 1 Aug 2011
Accepted Answer
More Answers (0)
Categories
Find more on Mathematics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!