from scipy.optimize import fsolve
import numpy as np
import random
# Exemple de valeurs pour les variables
q_sat_A = 0.1 # Exemple de quotient de mortalité global Agirc-Arrco
p_s0at_S = 0.4 # Exemple de part en simulation pour chaque centile initial
delta_s0at = 0.2 # Exemple de logit du quotient de mortalité pour centile 0
delta_scat = [random.uniform(0, 1) for _ in range(99)] # Exemple de logit des quotients de mortalité pour les centiles positifs
C = len(delta_scat) # Nombre de centiles positifs
# Fonction à résoudre
def equation(alpha):
term1 = p_s0at_S * np.exp(alpha * delta_s0at) / (1 + np.exp(alpha * delta_s0at))
term2 = (1 - p_s0at_S) * np.mean(np.exp(alpha * delta_scat) / (1 + np.exp(alpha * delta_scat)))
q_sat_A = (term1 + term2)
return q_sat_A - (term1 + term2)
# Résolution numérique
alpha_initial_guess = 1.0 # Valeur initiale pour alpha
alpha_solution = fsolve(equation, alpha_initial_guess)
print("Solution pour alpha:", alpha_solution[0])