## Find intersection of 2 normal distribution

さんによって質問されました 2019 年 10 月 16 日

### Star Strider (view profile)

さんによって コメントされました 2019 年 10 月 16 日
Star Strider

### Star Strider (view profile)

さんの 回答が採用されました
Hi,
I have 2 normal pdf and I want to find their intersection: 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?

#### 0 件のコメント

サインイン to comment.

## 1 件の回答 ### Star Strider (view profile)

2019 年 10 月 16 日
採用された回答

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 件のコメント

2019 年 10 月 16 日
Thanks ! it worked
John D'Errico

### John D'Errico (view profile)

2019 年 10 月 16 日
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 (view profile)

2019 年 10 月 16 日
@Aishwarya Radhakrishnan — As always, my pleasure!
@John D’Errico — I very much appreciate your Comment!

サインイン to comment.