# Integration numerical with variable limits

33 vues (au cours des 30 derniers jours)
DM le 3 Oct 2014
Modifié(e) : Alberto le 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.
##### 0 commentairesAfficher -2 commentaires plus anciensMasquer -2 commentaires plus anciens

Connectez-vous pour commenter.

### Réponse acceptée

Mike Hosea le 3 Oct 2014
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.
##### 0 commentairesAfficher -2 commentaires plus anciensMasquer -2 commentaires plus anciens

Connectez-vous pour commenter.

### Plus de réponses (2)

Alberto le 3 Oct 2014
Modifié(e) : Alberto le 3 Oct 2014
There is a general solution using symbolic tools.
syms x y
fxy=1./x+1./y;
xmin=0;
xmax=2*y;
ymin=0;
ymax=+inf
int(fxy,x,xmin, xmax) % integration dx
int(int(fxy,x,xmin, xmax),y,ymin,ymax) % double integration
##### 0 commentairesAfficher -2 commentaires plus anciensMasquer -2 commentaires plus anciens

Connectez-vous pour commenter.

Andrei Bobrov le 3 Oct 2014
out = integral2(fxy,ymin,ymax,xmin,xmax);
##### 2 commentairesAfficher AucuneMasquer Aucune
DM le 3 Oct 2014
Modifié(e) : DM le 3 Oct 2014
But I don't think you can reverse the limits of integration without reversing the integration operation, i.e in my case the double integral is over dxdy and you changed the limits in reverse way
DM le 3 Oct 2014
What you suggested is performing double integral over dxdy but with the wrong limits since you reversed them @andrei bobrov

Connectez-vous pour commenter.

### Catégories

En savoir plus sur Calculus dans Help Center et File Exchange

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by