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 ビュー (過去 30 日間)
古いコメントを表示
CHINTALAPUDI GNANA SURYA NARAYANA SAI
2020 年 8 月 13 日
コメント済み: hosein Javan
2020 年 8 月 14 日
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 件のコメント
Walter Roberson
2020 年 8 月 14 日
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 ?
CHINTALAPUDI GNANA SURYA NARAYANA SAI
2020 年 8 月 14 日
編集済み: CHINTALAPUDI GNANA SURYA NARAYANA SAI
2020 年 8 月 14 日
採用された回答
Walter Roberson
2020 年 8 月 13 日
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 件のコメント
その他の回答 (1 件)
hosein Javan
2020 年 8 月 13 日
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 件のコメント
参考
カテゴリ
Help Center および File Exchange で Calculus についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!