Inscription / Connexion Nouveau Sujet
Niveau exercices
Partager :

Fonction particulière?

Posté par
Zormuche
31-08-17 à 18:39

Bonjour

Pour mon usage personne, j'aurais besoin d'une fonction qui vérifie exactement :
1 -> 15
2 -> 12
3 -> 10
4 -> 9
5 -> 8
6 -> 7
7 -> 6
8 -> 5
9 -> 4
10 -> 3
11 -> 2
12 -> 1

Je sais que je peux simplement faire f(1)=15, f(2)=12 et pour tout x supérieur ou égal à 3, f(x)=13-x
mais je cherche une formule explicite, c'est pour ça que je pose mon problème ici
merci beaucoup !

Posté par
Jedoniezh
re : Fonction particulière? 31-08-17 à 19:50

Bonjour,

Doit-on comprendre que tu recherche une fonction qui passe par l'ensemble de tous ces points, à savoir (1,15), (2,12), (3,10), etc ...   ?

Posté par
lake
re : Fonction particulière? 31-08-17 à 20:17

Bonjour,
  f(x)=8x^{11}-605x^{10}+20295x^9-397650x^8+5041014x^7-43242045x^6+254746855x^5-1022787700x^4+2710148628x^3-4422132000x^2+3795940800x-678585600

Posté par
Jedoniezh
re : Fonction particulière? 31-08-17 à 20:22

Avec illustration.


Fonction particulière?

Posté par
Zormuche
re : Fonction particulière? 31-08-17 à 20:33

Merci beaucoup lake mais après réfléxion je pense qu'on peut réduire de beaucoup le degré en utilisant la fonction floor()

D'ailleurs, corrigez-moi si je me trompe, mais on peut effectuer ce travail avec un système de n équations à n inconnues non?

Posté par
mathafou Moderateur
re : Fonction particulière? 31-08-17 à 21:20

Bonjour,

tant qu'à utiliser floor(), autant utilisant abs() en modélisant la fonction par deux demi-droites :
pour x < a la droite passant par P1 et P2
et pour x > a la droite passant par P3 à P15
avec a judicieux entre 2 et 3
(blank sur "détente")

 Cliquez pour afficher

Posté par
lake
re : Fonction particulière? 31-08-17 à 21:24

C' était juste une plaisanterie zormuche et j' ai commis une erreur:

f(x)=\dfrac{8x^{11}-605x^{10}+20295x^9-397650x^8+5041014x^7-43242045x^6+254746855x^5-1022787700x^4+2710148628x^3-4422132000x^2+3795940800x-678585600}{39916800}

En pratique guère utilisable...

Posté par
Zormuche
re : Fonction particulière? 31-08-17 à 23:24

j'ai pensé aussi à la valeur absolue pour deux portions de droite, mais je ne savais pas comment en réaliser une "sur mesure"

Posté par
Jedoniezh
re : Fonction particulière? 01-09-17 à 07:17

Tu peux en réaliser une sur mesure et "exacte" par l'interpolation de Lagrange, mais ça va prendre du temps.
Après, tout dépend de l'objectif à atteindre. Peut être qu'une certaine approximation suffit, ou encore une droite et une courbe sur 2 domaines cumulées.

Posté par
Jedoniezh
re : Fonction particulière? 01-09-17 à 07:21

Pour information, l'illustration que je t'ai donnée ci-dessus est la courbe de la fonction donnée par Lake sur le domaine [1,12] et obtenu par l'interpolation de Lagrange.

Là encore, tout dépend de ce que tu recherches : souhaites-tu tracer par ordinateur une courbe passant par tous les points donnés, ou souhaites-tu trouver analytiquement l'expression de la fonction qui passerait par tous ces points ?

Posté par
malou Webmaster
re : Fonction particulière? 01-09-17 à 10:22

celle de mathafou

 Cliquez pour afficher

Posté par
mathafou Moderateur
re : Fonction particulière? 01-09-17 à 11:58

comment obtenir la fonction linéaire par morceaux ?

tu l'as dit :

Citation :
on peut effectuer ce travail avec un système de n équations à n inconnues non?


 Cliquez pour afficher

Posté par
Sylvieg Moderateur
re : Fonction particulière? 01-09-17 à 12:08

Bonjour,
@mathafou

@Zormuche pour le "sur mesure" :

 Cliquez pour afficher

Posté par
Sylvieg Moderateur
re : Fonction particulière? 01-09-17 à 12:11

J'ai envoyé mon message sans avoir vu le dernier de mathafou .
Chercher l'intersection des 2 droites est moins besogneux...

Posté par
Zormuche
re : Fonction particulière? 01-09-17 à 14:59

Sylvieg Après un peu de réflexion, j'ai fait comme tu as suggéré, de manière intuitive
J'ai fait en sorte que cx+d soit la moyenne des deux équations de droites, et que b|x-a| soit ce qu'on ajoute ou soustrait à la moyenne pour obtenir l'une ou l'autre (me fais-je bien comprendre?)

Donc cx+d est 15,5 - 2x

et b|x-a| est |x-2.5|

Merci pour tout, ça m'a permis de réaliser deux autres fonctions assez similaires dont j'avais besoin

Posté par
carpediem
re : Fonction particulière? 01-09-17 à 18:15

salut

f(1) = 15 et f(2) = 12

f(x) = ax^2 + bx + c

a + b + c = 15
4a + 2b + c = 12

3a + b = -3 <=> b = -3(a + 1)

=> c = 15 + 3(a + 1) - a = 18 + 2a

donc f(x) = ax^2 - 3(a + 1)x + 2a + 18

il faut donc maintenant combiner f(x) = ax^2 - 3(a + 1)x + 2a + 18 pour x < 3 (avec a un paramètre ...) et f(x) = 3 - x pour x > 3

...

Posté par
mathafou Moderateur
re : Fonction particulière? 01-09-17 à 19:24

mais on retombe alors sur une fonction définie avec un "si", (si x < 3, trinome, si x > 3 etc)
et cette sorte de définition par morceaux est bien plus simplement décrite par le message initial, sans fonction du second degré du tout.
transformer le "si" en une forme explicite se fait avec des fonctions spéciales comme la valeur absolue abs() ou le signe sgn(), voire la fonction partie entière floor()

et l'usage d'une telle fonction ne justifie plus le besoin d'un trinome puisque seule des fonctions du premier degré (linéaires) suffisent.

à noter que l'on a eu ici du bol que le point de concours des deux morceaux de droites soit effectivement entre 2 et 3

le jeu de données f(1)=15, f(2)=13, et pour x ≥ 3, f(x) = 13-x
nécessite avec la fonction abs() trois morceaux de droite et pas deux
pour obtenir f(x) = 0.5|x-2| + |x-3| - 1.5x + 15

Fonction particulière?

en effet si on n'utilise que deux morceaux de droites, la fonction abs() étant continue c'est impossible :
il faudrait une discontinuité quelque part entre 2 et 3
et donc l'usage d'une fonction discontinue par essence : la fonction sgn() par exemple
ce qui rendrait la chose en fait un peu plus compliquée

si x < 2.5 f(x) = 17-2x = f1(x)
si x > 2.5 f(x) = 13-x = f2(x)
si x = 2.5 f(x) = n'importe quoi

pouvant se traduire aussi avec la fonction sgn() :

f(x) = (f2+f1)/2 + sgn(x-2.5)(f2-f1)/2

Fonction particulière?

Posté par
carpediem
re : Fonction particulière? 01-09-17 à 20:29

mathafou : je n'avais pas lu les msg masqués ... et ta réponse ...

je n'ai même pas fait attention à ce que les points étaient alignés (enfin en deux nuages : les deux premiers et les autres)

j'aurai proposer la même idée ...

Citation :
à noter que l'on a eu ici du bol que le point de concours des deux morceaux de droites soit effectivement entre 2 et 3

peut-il en être autrement (pour pouvoir construire une fonction(explicite y = f(x)) ? (enfin avec des morceaux de droites (ou même plus généralement affine)


ensuite le principe est simple : une fois obtenue l'équation des deux droites :

g(x) = 18 - 3x
h(x) = 13 - x

alors f(x) = max (g(x), h(x))

et on a tout simplement Max(a, b) = \dfrac {a + b} 2 + \dfrac {|a - b|} 2

et une différence pour avoir le minimum ...

fonction classique bien connue des bricoleurs en prog ... (je n'en suis plus un et je te remercie d'ailleurs pour toutes les aides ou info que tu as pu nous offrir ...)

Posté par
carpediem
re : Fonction particulière? 01-09-17 à 20:32

damned j'ai oublié : mais pourquoi prends-tu f(2) = 13 ??

Posté par
mathafou Moderateur
re : Fonction particulière? 01-09-17 à 20:43

pour avoir un exemple différent pour lequel les deux droites se coupent au delà de x = 3 (voir figures)
et donc pour lequel la méthode "simple" ne marche pas : il y faut trois segments, ou une discontinuité.

d'ailleurs avec la fonction max, cela a échoue aussi avec ce (contre)exemple !
vu que c'est exactement pareil que l'usage de abs() dans les messages précédents

Posté par
carpediem
re : Fonction particulière? 01-09-17 à 21:05

ha ok !!!

bien sur  ... mais ce qu'on fait pour 2 on peut le faire pour 3 et même dans le pire cas où jamais trois points consécutifs  ne sont alignés   du moment que le nombre de points est finis !!



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !