2017-09-23 3 views

Répondre

2

Si X et Y sont des fonctions de Z, alors créez Z et définissez X, Y à travers. Piecewise aide avec ceci:

from sympy.stats import * 
Z = Die("Z", 6) 
X = Piecewise((1, Eq(Z, 1)), (0, True)) 
Y = Piecewise((1, Eq(Z, 2)), (0, True)) 
print(covariance(X, Y)) # -1/36 

En plus: Si Y est une fonction de X, puis créez X d'abord, puis définir Y en termes de celui-ci.

from sympy.stats import Bernoulli, covariance 
X = Bernoulli("X", 1/6) 
Y = 1 - X 
print(covariance(X, Y)) 

Renvoie -0.138888888888889.

+0

J'ai mis à jour la réponse; SymPy est maintenant mieux à ces calculs, donc la solution de contournement avec interpolating_poly n'est pas nécessaire. – FTP

+0

Bon à savoir, merci. –