## Calculating Integral in Mathematica

I have a function f(x) which is defined as

$$f(x) = \int_{x}^{c} \int_{x}^{c} f(x_1,x_2) dx_1 dx_2$$

where c is a known constant and f(x1,x2) is a multivariate Gaussian. Unfortunetaly there is no closed form solution for f(x).
My problem is I want to numerically calculate

$$\int_{c_1}^{c} f(x) dx$$

where again c_1, and c are known constants.
How do I numerically evaluate such an integral in Mathematica? I get errors every time saying "x is not a valid limit of integration".
Any ideas, how I would input the above into Mathematica to get a numerical solution?

 PhysOrg.com science news on PhysOrg.com >> 'Whodunnit' of Irish potato famine solved>> The mammoth's lament: Study shows how cosmic impact sparked devastating climate change>> Curiosity Mars rover drills second rock target
 Blog Entries: 5 Recognitions: Homework Help Science Advisor NIntegrate[ f[x], {x, c1, c} ] where c1 and c are numerical values or constants (like Pi, 2*E, 33.401 etc).
 Unfortunately f(x) has no closed form solution (so the expression for f(x) still has the symbols x1, x2) and thus evaluating "NIntegrate[ f[x], {x, c1, c} ]" just gives the error the "Integrand ..... is not numerical at...". I've also tried "NIntegrate[ f[x], {x1, x, c}, {x2, x, c}, {x, c1, c} ]", but this gives the error "x1 = x is not a valid limit of integration. " I'm sure there's some way to do it, but just can't figure it out?

Blog Entries: 5
Recognitions:
Homework Help

## Calculating Integral in Mathematica

Can you post some code, in particular be a little more specific about f(x1, x2) ?

 Basically, f(x1,x2) is a multivariate Normal pdf. An example in Mathematica code would be: f(x) = "Integrate[PDF[MultinormalDistribution[{5,6}, {{1,1}, {1,2}}], {x1,x2}], {x1,x,c},{x2,x,c}]" For any particular value of x and c (c is a known constant) I can numerically evaluate the above expression, however, I want to evaluate the above expression for all possible values of x, where x is a countinous number, and hence I need to integrate the above expression for all possible values of x (say, x ranges from 0-10 in the above example)
 Blog Entries: 5 Recognitions: Homework Help Science Advisor You are right that Code: NIntegrate[ f[x], {x1, x, c}, {x2, x, c}, {x, c1, c} ] doesn't work, but I think that Code: NIntegrate[ f[x], {x, c1, c}, {x1, x, c}, {x2, x, c} ] does. At least it gives an answer... apparently the integration is in a different order than you'd expect. E.g. Code: NIntegrate[PDF[MultinormalDistribution[{5, 6}, {{1, 1}, {1, 2}}], {x1, x2}], {x, 5, 10}, {x1, x, 10}, {x2, x, 10}] 0.365427

 Quote by jimmy1 Basically, f(x1,x2) is a multivariate Normal pdf. An example in Mathematica code would be: f(x) = "Integrate[PDF[MultinormalDistribution[{5,6}, {{1,1}, {1,2}}], {x1,x2}], {x1,x,c},{x2,x,c}]" For any particular value of x and c (c is a known constant) I can numerically evaluate the above expression, however, I want to evaluate the above expression for all possible values of x, where x is a countinous number, and hence I need to integrate the above expression for all possible values of x (say, x ranges from 0-10 in the above example)
Of course, make sure you load the package with the MultinormalDistribution:
Code:
Needs["MultivariateStatistics"]
Then turn your code into a function:

Code:
f[x_, c_] :=  NIntegrate[PDF[MultinormalDistribution[{5, 6}, {{1, 1}, {1, 2}}], {x1,
x2}], {x1, x, c}, {x2, x, c}]
Now you say that you want to evaluate this repeatedly for different values of x, you could use a table:

Code:
Table[f[x,20],{x,1,10,0.1}]`

 Cool, thanks guys! I've used your suggestions and I think I've got it now, just need to test the result a bit more. Anyway, cheers for the help!