Ok cool merci. Et du coup, comment tu spécifies
C'est juste le 0.6 ?
A
dans 1-abs(x^0.6-0.5)/0.5
?C'est juste le 0.6 ?
Nope, le 0.6 dépend de A
La formule exacte liant le 0.6 et A, je ne l'ai pas, mais cela peut se trouver... [edit] f(x) = 1 - 2*|x^p-0.5| f(A) = 1 => 1 - 2*|A^p - 0.5| = 1 => A^p = 0.5 => exp(p*ln(A)) = 0.5 => p*ln(A) = ln(0.5) => p = ln(1/2)/ln(A) => p = - ln(2) / ln(A) (ou p = -log_baseA(2)) Code : f(x) = 1 - abs( x^(ln(w)/ln(A)) - w) / w ; w=0.5 pour ton cas et A au choix dans ]0;1[
26-05-2016, 03:05 PM
OK !
Je suis en train de regarder avec les formes (x² + a) / ( b * x) aussi, car on dispose d'une vague asymétrique.
26-05-2016, 03:38 PM
/b*x, tu vas coincer en 0
Quant à (x²+a)/(x+b), elle a un point singulier (+/- infini) dans 0..1 donc je ne pense pas que ce sera jouable.
Hmmm alors on peut virer une contrainte, puisque de toute façon c'est pas très grave ; on peut dire qu'on s'en fout du cas f(0) = 0. Disons qu'on souhaite que f(0.00001) ~= 0
Pour être plus clair j'ai de toute façon un gros if si x = 0.
26-05-2016, 04:59 PM
Pas sûr que cela change grand chose car le 1/X tendra vers +/- infini en 0, donc "aux abord de 0" (0.00001), tu auras aussi de grands nombres (en tous cas, tu auras du mal à avoir la maitrise de f(1e-6) = 0).
26-05-2016, 10:38 PM
Niahoo, tu veux quoi exactement ? 2 segments de droite ? ou une courbe passant par les 3 points (X € {0, A, 1})
Dans le 1er cas, tu ne pourras qu'utiliser une définition par morceaux (pour ceux qui veulent réviser ou s'instruire fonction affine par morceaux) ce que tu fais avec des conditions... Dans le 2nd cas, une solution simple passant par l'interpolation polynomiale et en particulier par l'algorithme de Horner (ce qui permet de passer aux courbes de bézier plus facilement) Petit cours : un exemple se trouve à la page 32. Comme tu as 3 points, tu pourras obtenir une équation de degré 2 (Pour généraliser, si tu as N points, tu obtiens une équation de degré N-1.) Sinon tu peux chercher au niveau des courbes de bézier ou des splines/B-splines et autres cousines
Le privilège d'une pensée, c'est de pouvoir le rester
26-05-2016, 11:30 PM
C'est une affine par morceau asymétrique que Niahoo cherchait, ou une approximation. L'équation polynomiale correspondante, dans la 1ere réponse (plus ou moins) ne convient pas (deux annulations de la dérivée dans l'intervalle x=0..1 donc une forme de "vague"). Les solutions hyperboliques existent (ln/exp/cosh/sinh/tanh) mais je n'ai pas de solution "simple" en stock; si t'en as...
Les bézier, cela peut être une piste, en effet. Pas sûr qu'on puisse en établir une équation f(x)=y facilement...
27-05-2016, 11:07 AM
(26-05-2016, 10:38 PM)seishin a écrit : Niahoo, tu veux quoi exactement ? 2 segments de droite ? ou une courbe passant par les 3 points (X € {0, A, 1}) Bah l'un ou l'autre ! De préférence une courbe oui J'ai utilisé un service d'interpolation mais ce n'était pas assez précis. Je vais regarder ce cours
27-05-2016, 12:12 PM
Wohputain que ça a l'air compliqué.
Bon sinon j'ai vu qu'en soustrayant son carré à un nombre, on obtient 0 en 0 et 1. Et je bidouille grâce à la courbure de la fonction racine. Par exemple sqrt(x) - x
|
|
Sujets apparemment similaires… | |||||
Sujet | Auteur | Réponses | Affichages | Dernier message | |
[Math] calculer un angle entre deux points? | Argorate | 25 | 36 491 |
02-05-2016, 11:35 PM Dernier message: tatactic |
|
Comportement attendu pour du routing | Holy | 3 | 2 147 |
02-02-2012, 01:09 PM Dernier message: Sephi-Chan |
|
[jQuery] Comportement | phenix | 9 | 3 012 |
27-06-2009, 12:58 AM Dernier message: arcanis |
|
[Résolu] Requête SQL au comportement bizarre | Stargate63 | 7 | 2 978 |
02-07-2008, 11:59 AM Dernier message: Kassak |
|
[REGLE]Gerer des ressources ayant des caractéristiques differentes | Ogham | 10 | 5 180 |
24-12-2007, 02:51 PM Dernier message: Ogham |