Find intersection of 2 normal distribution

32 visualizaciones (últimos 30 días)
Aishwarya Radhakrishnan
Aishwarya Radhakrishnan el 16 de Oct. de 2019
Comentada: Star Strider el 16 de Oct. de 2019
Hi,
I have 2 normal pdf and I want to find their intersection:
Screen Shot 2019-10-16 at 14.39.05.png
the intersection is between 160 to 170.
I have code as follows:
mu1 = 160;
var1 = 20;
mu2 = 175;
var2 = 15;
yfun = @(mu,var, x)(2*pi*(var))^(-0.5)* exp(-((x-mu).^2)/(2*(var)));
val = fzero(@(x) yfun(mu1, var1, x) == yfun(mu2, var2, x), rand * (mu1 - mu2) + (mu1 + mu2))
Output:
val =
324.6802
Its the value of 2nd parameter of fzero() and fzero() sets val to it's 2nd parameter whatever i change it to.
How do i find the intersection's x value?

Respuesta aceptada

Star Strider
Star Strider el 16 de Oct. de 2019
The ‘val’ value is the x-value of the intersection, however you need to start fzero in the correct region for it to return the correct value. It is then straightforward to calculate the y-value from either Gaussian function, since they are both approximately the same at that point.
I changed your code slightly so it returns the correct results:
mu1 = 160;
var1 = 20;
mu2 = 175;
var2 = 15;
yfun = @(mu,var, x)(2*pi*(var))^(-0.5)* exp(-((x-mu).^2)/(2*(var)));
val = fzero(@(x) yfun(mu1, var1, x) - yfun(mu2, var2, x), mean([mu1,mu2]))
yval = yfun(mu1, var1, val)
producing:
val =
167.872647061767
yval =
0.0189439821229373
Experiment to get the result you want.
  3 comentarios
John D'Errico
John D'Errico el 16 de Oct. de 2019
Editada: John D'Errico el 16 de Oct. de 2019
Note the importance of how Star used subtraction there instead of using ==. Testing for equality is a bad idea, because it will essentially never happen that they are exactly equal. You want to search for where the difference crosses zero.
Star Strider
Star Strider el 16 de Oct. de 2019
@Aishwarya Radhakrishnan — As always, my pleasure!
@John D’Errico — I very much appreciate your Comment!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Solver Outputs and Iterative Display en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by