2017-10-06 1 views
-1

Comment tracer, par ex. une fonction f (x) = x pour 0 < x < 1 et f (x) = 1 pour x> = 1?Matplotlib: Tracer une fonction avec plusieurs définitions

Merci d'avance!

EDIT:

D'accord, j'ai pensé pendant un certain temps et a trouvé une solution pour la fonction donnée, mais je voudrais vraiment trouver une solution plus générique. Peut-être que f = f1 + f2 + ... fn, où fi est la fonction dans le domaine i et ensuite plot f alltogehter.

f = 0,5 * (1 * (1-np.sign (1-x)) + x * (1-np.sign (x-1)))

+0

Quel est exactement le problème? Si vous montrez ce que vous avez essayé et à quel point cela échoue, il sera probablement beaucoup plus facile à comprendre. – ImportanceOfBeingErnest

Répondre

1

Matplotlib ne se soucie pas où votre les données proviennent de: vous pouvez soit faire des listes à partir de deux fonctions différentes et les combiner, ou appeler une fonction avec un conditionnel. Le choix le plus attrayant est probablement mathématiquement

def f(x): 
    return 1 if x>=1 else 0 if x>0 else ... 

Bien sûr, si vous ne vous préoccupez x> 0, votre fonction peut être calculée comme x>=1, qui peut être utilisé comme un numéro déjà.