Fonction Heaviside - Echelon unité

Règles du forum
ATTENTION ! Il est demandé de ne déposer dans ce forum que des exemples
  • finalisés
  • que l'on pense intéressants et optimisés
  • et qui se rapportent au thème du forum.
Si certains exemples déposés donnent lieu à de nombreuses modifications, ils seront déplacés et remplacés par un nouveau sujet dans ce forum avec la ou les meilleures propositions.
Pour les demandes d'aide ... il y a un forum spécifique !

Fonction Heaviside - Echelon unité

Message non lupar GM » Sam 29 Mai 2010, 21:21

Suite à une demande sur Mathematex, voilà un code qui pourra peut-être être utile à certains : obtenir la courbe représentative de la fonction de Heaviside (également appelée fonction échelon) définie par :

Code: Tout sélectionner
real H(real t) {return t < 0 ? 0 : 1;}


Un appel particulier de la fonction graph permet de renvoyer un guide[], pour tracer des courbes par morceaux : un paramètre cond de type bool3 permet de définir les conditions pour relier ou pas les points.

Code: Tout sélectionner
guide[] graph(picture pic=currentpicture, real f(real), real a, real b,
int n=ngraph, real T(real)=identity, bool3 cond(real),
interpolate join=operator --);


Figure asymptote 1d6432d5a6be45edfcb4fc9fe672089a
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***

CODE ASYMPTOTE de la figure ci-dessus : Tout sélectionner
  1. import graph;
  2. size(300);
  3.  
  4. real xmin=-3,xmax=3;
  5. real ymin=-1,ymax=2;
  6.  
  7. // Test pour savoir s'il faut relier les points ou pas lors de l'utilisation de graph.
  8. bool3 condition(real x)
  9. {
  10. static int derniersigne=0;
  11. int signe = sgn(x);
  12. bool b = derniersigne == 0 || signe == derniersigne;
  13. derniersigne = signe;
  14. return b ? true : default;
  15. }
  16.  
  17. // Définition de la fonction
  18. real H(real t) {return t < 0 ? 0 : 1;}
  19.  
  20. // Tracé de la courbe
  21. guide[] CH=graph(H,xmin,xmax,condition,n=400);
  22. draw(CH,1.5bp+blue);
  23.  
  24. real margeaxe=.4;
  25. xaxis(Label("$x$",align=Align),xmin-margeaxe,xmax+margeaxe,Ticks(NoZero),Arrow);
  26. yaxis(ymin-margeaxe,ymax+margeaxe,Ticks(NoZero),Arrow);
  27.  
  28. shipout(bbox(2mm,Fill(white)));
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://gmaths.net/asy/index/?filtre=arc triple
Avatar de l’utilisateur
GM
Administrateur du site
Administrateur du site
 
Messages: 627
Inscription: Dim 7 Mar 2010, 14:50

Retourner vers Analyse

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité