Integration for only positive values
15 ビュー (過去 30 日間)
古いコメントを表示
Hi!
I would like to calculate the integral of an already estimated probability density function. This PDF was estimated with a SPLINE, which is "slightly" negative in certain areas. My SPLINE is saved as a "struct" and integrating it works just fine fnint(PDF). However, the resulting CDF is decreasing in those areas of negative densities, which I would like to avoid by simply replacing those areas of the PDF with 0.
My question: Is it possible to set those regions of the function equal to 0, or to integrate just over the positive values ot this PDF? I would like to avoid transforming the function into a vector of resulting densities, and instead use the (spline) function directly?
Thanks in advance!
0 件のコメント
回答 (2 件)
the cyclist
2020 年 6 月 19 日
Can you just replace your PDF with max(0,PDF) and proceed?
9 件のコメント
the cyclist
2020 年 6 月 19 日
It wasn't clear to me which field of the structure you need to modify, but for example if it is coefs,then
PDF.coefs = max(PDF.coefs,0)
Pasindu Ranasinghe
2021 年 12 月 20 日
How to integrate over the positive part of the function
lower_limit=-5; %Lower Limit of the integration
upper_limit=5; %Upper limit of the integration
Point_number=1000; %NUmber of points to be in the function
x_range=linspace(lower_limit,upper_limit,Point_number);
% Enter Function
syms x
f(x)=x^2+3*x-5
y=f(x_range); %Getting function values
y_plus=subplus(y); %Getting only the Positive part
fprintf("Integration of the Positive Part %f",trapz(y_plus))
%more plots
figure
plot(x_range,y_plus,"g","LineWidth",2);
hold on
plot(x_range,y,"r","LineWidth",1);
hold off
legend({'Positive Part','Input Function'});
xline(0);
yline(0);
title("Function")
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Spline Postprocessing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!