How to double integral in MATLAB

1 view (last 30 days)
kun zhou
kun zhou on 7 Oct 2016
Commented: Walter Roberson on 7 Oct 2016
I want double integrate the following
a = 0.3555;
b = 0.3985;
n = 2.343;
f = @(x,y)(1-abs(x/(a*(1-abs(y/b).^n).^(1/n))).^1.745);
integral2(f,-0.3555,0.3985,-0.3555,0.3985)
but it did not work, anybody can help me on this? thanks
  2 Comments
Torsten
Torsten on 7 Oct 2016
Edited: Walter Roberson on 7 Oct 2016
Use
f = @(x,y)(1-abs(x./(a*(1-abs(y/b).^n).^(1/n))).^1.745);
If this does not work either, please include the complete error message.
Best wishes
Torsten.
Walter Roberson
Walter Roberson on 7 Oct 2016
The denominator of that is 0 at y = +/- b, which is going to lead to difficulties in integrating. The integral would perhaps be well-defined theoretically if you could well-define what it meant to raise a value to a floating point number.

Sign in to comment.

Answers (1)

Pritesh Shah
Pritesh Shah on 7 Oct 2016
Try dblquad function

Community Treasure Hunt

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

Start Hunting!