import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
# Paramètres pour la courbe de strength
strength_mean = 0.25
strength_std_dev = 0.1
# Génération des données pour la courbe de strength
x_strength = np.linspace(0.1, 0.4, 1000)
y_strength = norm.pdf(x_strength, loc=strength_mean, scale=strength_std_dev)
# Tracer la courbe de strength - Distribution normale
plt.figure(figsize=(8, 6))
plt.plot(x_strength, y_strength, color='blue', label='Courbe de strength')
plt.title('Courbe de strength - Distribution normale')
plt.xlabel('Valeurs de x')
plt.ylabel('Densité')
plt.legend()
plt.grid(True)
plt.show()
# Paramètres pour la courbe de stress
stress_mean = 0.2
stress_std_dev = 0.019
# Génération des données pour la courbe de stress
x_stress = np.linspace(0.1, 0.4, 1000)
y_stress = norm.pdf(x_stress, loc=stress_mean, scale=stress_std_dev)
# Tracer la courbe de stress - Distribution normale
plt.figure(figsize=(8, 6))
plt.plot(x_stress, y_stress, color='green', label='Courbe de stress')
plt.title('Courbe de stress - Distribution normale')
plt.xlabel('Valeurs de x')
plt.ylabel('Densité')
plt.legend()
plt.grid(True)
plt.show()
# Courbes interposées Stress-Strength
plt.figure(figsize=(8, 6))
plt.plot(x_stress, y_stress, color='green', label='Courbe de stress')
plt.plot(x_strength, y_strength, color='blue', label='Courbe de force (strength)')
plt.title('Courbes interposées - Stress & Strength')
plt.xlabel('Valeurs de x')
plt.ylabel('Densité')
plt.legend()
plt.grid(True)
plt.show()
# Plot des fonctions de répartition cumulative (CDF)
plt.figure(figsize=(8, 6))
plt.plot(x_stress, np.cumsum(y_stress), color='blue', label='CDF - Stress')
plt.plot(x_strength, np.cumsum(y_strength), color='red', label='CDF - Strength')
plt.title('Fonctions de répartition cumulative (CDF)')
plt.xlabel('Valeurs de x')
plt.ylabel('CDF')
plt.legend()
plt.grid(True)
plt.show()
# Calcul du point de défaillance (failure rate) et des PPM (Parts Per Million)
failure_rate = x_strength[np.argmin(np.abs(y_strength - np.interp(x_strength, x_stress, y_stress)))]
total_population = 1000000 # Exemple d'une population de 1 million
ppm_strength = np.sum(y_strength > np.interp(x_strength, x_stress, y_stress)) / len(y_strength) * total_population
ppm_stress = np.sum(y_stress > np.interp(x_stress, x_strength, y_strength)) / len(y_stress) * total_population
ppm = (ppm_strength + ppm_stress) / 2 # Moyenne des PPM
print(f"Point de défaillance (Failure Rate): {failure_rate}")
print(f"PPM (Parts Per Million): {ppm}")
To embed this project on your website, copy the following code and paste it into your website's HTML: