# I am not able to integrate heaviside(y-f) for x= 0 to pi/2 and y = 0 to pi/2 (only syms integration "int"). After running the code, output is shown in below and i am not able to get the numerical answer. Can you give some ideas on how to proceed?

4 views (last 30 days)

Show older comments

CHINTALAPUDI GNANA SURYA NARAYANA SAI
on 13 Aug 2020

Commented: hosein Javan
on 14 Aug 2020

syms x y

f = sin(x);

integ = int( int(heaviside(y-f), x, 0, pi/2),y, 0, pi/2)

Result:

integ =

int(int(heaviside(y - sin(x)), x, 0, pi/2), y, 0, pi/2)

##### 4 Comments

Walter Roberson
on 14 Aug 2020

CHINTALAPUDI GNANA SURYA NARAYANA SAI
on 14 Aug 2020

Edited: CHINTALAPUDI GNANA SURYA NARAYANA SAI
on 14 Aug 2020

### Accepted Answer

Walter Roberson
on 13 Aug 2020

Reverse the order of integration.

>> integ = int( int(heaviside(y-f), y, 0, pi/2),x, 0, pi/2)

integ =

pi^2/4 - 1

##### 0 Comments

### More Answers (1)

hosein Javan
on 13 Aug 2020

if you need numerical integration, some functions cannot be easily evaluated by symbolic. instead use "integral". in here we have a double integral. the integral calculation method is 'iterated' which means on each iteration it is integrating on one dimension and then the next. it takes a few seconds to accomplish though.

fun = @(x,y) double( y > sin(x) )

q = integral2(fun, 0, pi/2, 0, pi/2, 'Method', 'iterated', 'Reltol', 1e-8)

% answer in command window:

q =

1.4674

here's your function plot. blue part is zero. yellow part equals one.

##### 3 Comments

### See Also

### Categories

### Community Treasure Hunt

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

Start Hunting!