Asked by DM
on 3 Oct 2014

I am trying to find a double integration numerically where the inner integral has variable limits while the outer integral has scalar limits and not the other way round. As I understand integral2 allows you do the reverse of what I want i.e you can have the outer variable limits non scalar while the inner should be scalar.

fxy=@(x,y)1/x+1/y

xmin=0;

xmax=@(y)2*y;

ymin=0;

ymax=+inf;

integral2(fxy,xmin,xmax,ymin,ymax)

I get the following error

Error using integral2 (line 76)

XMAX must be a floating point scalar.

Answer by Mike Hosea
on 3 Oct 2014

Accepted Answer

The INTEGRAL2 interface is set up to calculate an iterated integral where the integral over the second argument of the integrand function f is the inner integral. It does not matter what you call your variables, whether it be x, y, t, p, r, or whatever. The first argument is the outer integral, and the second argument is the inner integral. If your problem happens to be formulated so that the inner integral variable is called x and the outer integral variable is called y, but your integrand is already defined so that x is the first argument and y is the second, then you just do this:

integral2(@(y,x)f(x,y),ymin,ymax,xmin,xmax)

Your example isn't integrable, or I'd demonstrate.

Sign in to comment.

Answer by Andrei Bobrov
on 3 Oct 2014

in your case:

out = integral2(fxy,ymin,ymax,xmin,xmax);

DM
on 3 Oct 2014

DM
on 3 Oct 2014

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 0 Comments

Sign in to comment.