Error in the integration result

1 view (last 30 days)
Daigo on 23 Feb 2022
Commented: Daigo on 23 Feb 2022
Given the joint p.d.f.:
for -\infty < x, y < \infty
I'm trying to compute the expected value: by the following code:
syms x y
pi = sym('pi');
fxy = (1/pi)*exp(-((x-1)^2+2*y*(x-1)+2*y^2));
Exy = int(int(x*y*fxy,x,-inf,inf),y,-inf,inf)
However, I got the following solution
I started to wonder if this function is not integrable in the first place. However, the answer was no. I computed the same integral by Wolfram Alpha (no offense...) and got the following result:
Am I doing something wrong in my code? Do you have any idea how to obtian the same result in MATLAB? I appreciate your help.

Accepted Answer

Paul on 23 Feb 2022
Edited: Paul on 23 Feb 2022
Expected result after expand() and simplify() of fxy. Don't know why these operations are needed.
syms x y
Pi = sym(pi); % modified
fxy = (1/Pi)*exp(-((x-1)^2+2*y*(x-1)+2*y^2));
Exy = int(int(x*y*simplify(expand(fxy)),x,-inf,inf),y,-inf,inf)
Exy = 
Actually, the simplify() is not needed
syms x y
Pi = sym(pi); % modified
fxy = (1/Pi)*exp(-((x-1)^2+2*y*(x-1)+2*y^2));
Exy = int(int(x*y*expand(fxy),x,-inf,inf),y,-inf,inf)
Exy = 
  1 Comment
Daigo on 23 Feb 2022
I have no idea why we have to expand the polynomial before integration...but I'm glad to know it works in this way. Thanks!

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!