Re: How to solve multiple integral in matlab? Thanks!



In article <ef212be.-1@xxxxxxxxxxxxxxxx>, "ceiba huang" <ceibahuang@xxxxxxxxx> wrote:

> I want to calculate a 11 dimension integral. The integrand is
> absolute value of some linear combinations on each dimension. So it
> is hard to figure out the explicit form. I first tried to use ?sym?
> and ?int?. It works and gives a very accurate result but the
> calculation is unendurably slow. I need to do such calculations
> iteratively for over 10000 times. I think numerical calculation
> should be faster with sacrifice of the accuracy. I searched help file
> but only find the function ?triplequad? to work on triple integral.
> Do you know any function to work on higher dimension (my case:11)
> numerical integral? Or do you have any suggestion/reference to
> program it?

A non-differentiable function such as you describe
is difficult to throw an adaptive quadrature at.
An integration based on quad will be better than
one based on quadl here, since quadl uses higher
order methods than quad. Note that triplequad uses
quadl.

Its a nasty problem to solve in general. Add in the
fact its in 11 dimensions, and have fun. I might
even lean towards a Monte Carlo integration if you
are willing to accept a stochastic estimate.

It matters not how you do this. Expect it to be
painfully slow.

John


--
The best material model of a cat is another, or preferably the same, cat.
A. Rosenblueth, Philosophy of Science, 1945

Those who can't laugh at themselves leave the job to others.
Anonymous
.



Relevant Pages