# 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?

3 views (last 30 days)
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)
Walter Roberson on 14 Aug 2020
For your purposes, is heaviside(0) equal to 0, or is it equal to 1, or is it equal to 1/2, or is it undefined ?
Edited: CHINTALAPUDI GNANA SURYA NARAYANA SAI on 14 Aug 2020
yes, it is heaviside(=0 or >0) equal to 1 and heaviside(<0) equal to 0.

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

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)
q =
1.4674
here's your function plot. blue part is zero. yellow part equals one. ##### 3 CommentsShow 1 older commentHide 1 older comment
actually i need to do syms int type of integration, but as you suggested i will also look into integral2 command. Thank you very much.
hosein Javan on 14 Aug 2020
you're welcome.