Convolution of two log normal distributions
Ältere Kommentare anzeigen
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)
Akzeptierte Antwort
Weitere Antworten (2)
Bruno Luong
am 18 Sep. 2019
Bearbeitet: Bruno Luong
am 18 Sep. 2019
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
am 18 Sep. 2019
0 Stimmen
For convolution, use conv() on your numerical vectors.
Kategorien
Mehr zu Probability Distributions and Hypothesis Tests finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!