Convolution of two log normal distributions
이전 댓글 표시
Greetings. I am trying to do the convolutions of two lognormal distributions however, I am getting errors. I started to question my method but I cannot find a mistake in my script. Is there a better way? I seem to be getting unexpected numerical values. I would expect like any CDF to approach 1, but this one is not.
%% Convolution of two LogNormal Distributions.
clc
clear all
format long
muX = 9.7224; % For Ni Distribution (X-domain)
sigmaX = 0.3332; % For Ni Distribution (X-domain)
muY = 8.6878; % For Np Distribution (Y-domain)
sigmaY = 0.2454; % For Np Distribution (Y-domain)
t = inf; % Cycles input (would expect an answer of 1 with t = inf.)
fun = @(y,x) exp(-0.5.*((log(x) - muX).^2)./(sigmaX.^2))./(x.*sigmaX.*sqrt(2.*pi)) .* exp(-0.5.*((log(y) - muY).^2)./(sigmaY.^2))./(y.*sigmaY.*sqrt(2.*pi));
P = integral2(fun,-inf,t - 'x',-inf,inf,'RelTol',1e-12,'AbsTol',1e-12)
채택된 답변
추가 답변 (2개)
Bruno Luong
2019년 9월 18일
편집: Bruno Luong
2019년 9월 18일
LOGNORMAL is defined on (0,Inf) not (-Inf,Inf)
P = integral2(fun,0,t - 'x',0,inf,'RelTol',1e-12,'AbsTol',1e-12)
returns correctly
P =
1.0000
Image Analyst
2019년 9월 18일
0 개 추천
For convolution, use conv() on your numerical vectors.
카테고리
도움말 센터 및 File Exchange에서 Probability Distributions and Hypothesis Tests에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!