Mathematica

cerise

Mathematica

Message par cerise » 01 mars 2006 15:32

Bonjour, je cherche à écrire une fonction qui génère "automatiquement" des fonctions définies par morceaux de la manière suivante :
on lui donne une liste du type {{f1,n1},{f2,n2}, ... , {fk,nk}} et on veut qu'elle renvoie la fonction égale à f1 sur [0,n1[, f2 sur [n1,n1+n2[, etc...

J'ai essayé ça :

Code : Tout sélectionner

Creer[l_] :=
  Module[{t, y},
    t = Length[l];
    y = 0;
    For[i = 1, i ? t,
      l[[i, 1]][x] /; y ? x < y + 0.5*l[[i, 2]] - 0.1;
      l[[i, 1]][x]/1.5 /; y + 0.5*l[[i, 2]] - 0.1 ? x < y + 0.5*l[[i, 2]];
      y = y + 0.5*l[[i, 2]]
      ]
    ]
mais lorsque j'appelle Creer, ça mouline sans rien donner.
J'ai essayé d'autres versions, mais aucun résultat n'a été concluant... Y'a-t-il une méthode pour faire ça ?

Répondre