#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Dec  3 18:20:16 2021

@author: ojacques
"""

from scipy.stats import norm
import numpy as np
import matplotlib.pyplot as plt
#%matplotlib auto
medA=10
dpA=1
medB=11
dpB=1.5
medC=8
dpC=1.25
pA,pB,pC=2/6,3/6,1/6


Xi=10
X=np.linspace(2.5,17, 1000)

#pdfA=norm.pdf(X,medA,dpA) é o mesmo abaixo
pdfA=norm.pdf(X,loc=medA,scale=dpA) #loc:média, scale:desvio padrão
pdfB=norm.pdf(X,loc=medB,scale=dpB)
pdfC=norm.pdf(X,loc=medC,scale=dpC)

plt.plot(X,pdfA,label='$A=N(\mu=10,\sigma=1)$',linewidth=5.0)
plt.plot(X,pdfB,label='$B=N(\mu=11,\sigma=1.5)$',linewidth=5.0)
plt.plot(X,pdfC,label='$C=N(\mu=8,\sigma=1.25)$',linewidth=5.0)

plt.plot([Xi,Xi],[-0.02,0.45],label="$X_i=10$",linestyle='--')

plt.xlabel('$X_i$')
plt.grid(visible=True,which='both', axis='both',linestyle='--')
plt.legend(loc="best")
plt.show() #necessário se for por terminal
pXiA=1-norm.cdf(Xi,medA,dpA)
fXiA=norm.pdf(Xi,medA,dpA)
pXiB=1-norm.cdf(Xi,medB,dpB)
fXiB=norm.pdf(Xi,medB,dpB)
pXiC=1-norm.cdf(Xi,medC,dpC)
fXiC=norm.pdf(Xi,medC,dpC)
print(f'P(X>10|A) = {pXiA:.4f} f(X|A)= {fXiA} \n')
print(f'P(X>10|B) = {pXiB:.4f} f(X|B)= {fXiB} \n')
print(f'P(X>10|C) = {pXiC:.4f} f(X|C)= {fXiC}\n')

alpha=pA*pXiA+pB*pXiB+pC*pXiC

pAXi=pA*pXiA/alpha
print(f'P(A|X>10) = {pAXi:.4f} \n')

pBXi=pB*pXiB/alpha
print(f'P(B|X>10) = {pBXi:.4f} \n')

pCXi=pC*pXiC/alpha
print(f'P(C|X>10) = {pCXi:.4f} \n')

