Générer une équation d'une courbe passant par n points

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
jav974
Messages: 8
Enregistré le: 09 Juin 2013, 21:53

Générer une équation d'une courbe passant par n points

par jav974 » 09 Juin 2013, 22:13

Bonjour tout le monde,

je cherche à générer une équation d'une courbe passant par n points que je connais (avec leur y = 0)

Seulement l'équation doit trouver y = 0 seulement pour x = 1 des n points.

Ne sachant pas réellement où me diriger, merci pour votre aide



Hypatie
Membre Naturel
Messages: 20
Enregistré le: 09 Juin 2013, 18:30

par Hypatie » 09 Juin 2013, 22:18

jav974 a écrit:Bonjour tout le monde,

je cherche à générer une équation d'une courbe passant par n points que je connais (avec leur y = 0)

Seulement l'équation doit trouver y = 0 seulement pour x = 1 des n points.

Ne sachant pas réellement où me diriger, merci pour votre aide


Excuse moi je n'ai pas compris, tes n points sont d'ordonnées 0, ou juste un des n points?

Sinon pour ce genre de problèmes on utilise souvent les polynomes d'interpolation de Lagrange.

jav974
Messages: 8
Enregistré le: 09 Juin 2013, 21:53

par jav974 » 09 Juin 2013, 22:25

Hypatie a écrit:Excuse moi je n'ai pas compris, tes n points sont d'ordonnées 0, ou juste un des n points?

Sinon pour ce genre de problèmes on utilise souvent les polynomes d'interpolation de Lagrange.


Oui effectivement les n points sont d'ordonnée 0, et il faudrait que ce soit le cas seulement en ces points. De ce que j'ai pu voir avec Lagrange, le résultat donnait f(x) = 0 (depuis un générateur que j'ai trouvé sur internet) ce qui ne correspond pas à mes besoins.

Merci beaucoup.

Hypatie
Membre Naturel
Messages: 20
Enregistré le: 09 Juin 2013, 18:30

par Hypatie » 09 Juin 2013, 22:34

jav974 a écrit:Oui effectivement les n points sont d'ordonnée 0, et il faudrait que ce soit le cas seulement en ces points. De ce que j'ai pu voir avec Lagrange, le résultat donnait f(x) = 0 (depuis un générateur que j'ai trouvé sur internet) ce qui ne correspond pas à mes besoins.

Merci beaucoup.


Oui parce que forcément dans la formule tu multiplies par l'ordonnée de ton point (si on considère la formule donnée par wikipedia ces ordonnées correspondent aux yi) ce qui donne la fonction identiquement nulle.

Peut être en trichant un peu et en mettant 1 pour tous les yi et ensuite en soustrayant ton équation par 1 tu tombes sur une équation qui répond à ton problème.

Je ne sais pas si c'est très clair.

Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6608
Enregistré le: 22 Nov 2007, 14:00

par fatal_error » 09 Juin 2013, 22:47

mm, si faut que ca passe en n points dont chacun à l'ordonnée nulle, ca veut dire que tu cherches une fonction f qui coupe l'axe des abscisses en les abscisses de tes n points.

Si on note les abscisses de tes n points x_i pour i=0 à n-1, ben il suffit de prendre le polynome p(x) qui a pour racine tes x_i.

Autrement dit
ce qui assure de plus que p(x) ne coupe l'axe des abscisses que en ces points.
la vie est une fête :)

Hypatie
Membre Naturel
Messages: 20
Enregistré le: 09 Juin 2013, 18:30

par Hypatie » 09 Juin 2013, 23:09

fatal_error a écrit:mm, si faut que ca passe en n points dont chacun à l'ordonnée nulle, ca veut dire que tu cherches une fonction f qui coupe l'axe des abscisses en les abscisses de tes n points.

Si on note les abscisses de tes n points x_i pour i=0 à n-1, ben il suffit de prendre le polynome p(x) qui a pour racine tes x_i.

Autrement dit
ce qui assure de plus que p(x) ne coupe l'axe des abscisses que en ces points.


Ah bien j'allais justement revenir sur le post pour poster cette fonction en disant que ma première solution était loin d'être la plus naturelle! :petard2:

jav974
Messages: 8
Enregistré le: 09 Juin 2013, 21:53

par jav974 » 10 Juin 2013, 08:40

Et bien merci beaucoup, ça fonctionne effectivement très bien ^^', mais maintenant je réalise que ce n'était pas exactement ce que je cherchais. Mon problème vient maintenant du stockage des n points pour cette formule.

Si vous voulez je pensais au départ me retrouver avec une formule tenant compte des n points mais sans les retranscrire.

En fait pour vous expliquer, j'ai une batterie croissante de points représentant des emplacements en mémoire sur lesquels j'aurai souhaité extrapoler une formule, plus courte a écrire que la liste des points et me permettant de les retrouver au final.

J'ai pensé aux courbes au départ me disant que ça doit bien coller au sujet, mais plus rien ne m'étonne en mathématiques et il doit certainement exister des millions de concepts pour ce genre de chose, seulement je me suis éloigné assez longtemps de toute rigueur scientifique ^^'

Merci quand même,
jav

Dlzlogic
Membre Transcendant
Messages: 5273
Enregistré le: 14 Avr 2009, 14:39

par Dlzlogic » 10 Juin 2013, 13:02

Bonjour,
Si j'ai bien compris votre dernier messages, vous avez une liste de valeurs entières et vous voudriez remplacer cette liste par une fonction qui permettrait ultérieurement de retrouver les valeurs de cette liste.
Il y a déjà eu plusieurs propositions dans ce domaine. Si c'est ça que vous cherchez, je peux essayer de retrouver les références.

jav974
Messages: 8
Enregistré le: 09 Juin 2013, 21:53

par jav974 » 10 Juin 2013, 14:46

Dlzlogic a écrit:Bonjour,
Si j'ai bien compris votre dernier messages, vous avez une liste de valeurs entières et vous voudriez remplacer cette liste par une fonction qui permettrait ultérieurement de retrouver les valeurs de cette liste.
Il y a déjà eu plusieurs propositions dans ce domaine. Si c'est ça que vous cherchez, je peux essayer de retrouver les références.


Oui c'est exactement ça que je recherche ! Merci beaucoup :)
Jusqu'à présent mes recherches m'ont mené à penser que les suites pourraient faire un travail adéquat, mais il en existe une multitude, je n'ai pas fini de les référencer et les étudier...

Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6608
Enregistré le: 22 Nov 2007, 14:00

par fatal_error » 10 Juin 2013, 15:03

jav974 a écrit:j'aurai souhaité extrapoler une formule, plus courte a écrire que la liste des points

jai envie de dire,

tu prends tes points tu les concatenes avec un \n, tu compresses (sans perte) ta chaine. ca prendra moins de place :x et tu conserves la bijection
la vie est une fête :)

jav974
Messages: 8
Enregistré le: 09 Juin 2013, 21:53

par jav974 » 10 Juin 2013, 16:04

fatal_error a écrit:jai envie de dire,

tu prends tes points tu les concatenes avec un \n, tu compresses (sans perte) ta chaine. ca prendra moins de place :x et tu conserves la bijection


Ce qui est drôle c'est que j'essaie justement de réaliser un algorithme de compression ^^' , donc ça n'est pas une option pour moi.

J'essaie de m'éloigner le plus possible des techniques de compression usuelles (mon but n'étant pas du tout de refaire un zip/rar like, mais plutôt de me rapprocher de notions plus "mathématiques") (par pitié ne me renvoyez pas sur des liens traitant de compression et autre... ce n'est pas ma direction).

Sinon j'ai bien une autre piste pour appréhender le problème, mais ce ne sera certainement pas plus simple, mais juste pour en parler brièvement: je pensais initialement traiter les données à compresser comme un (grand) nombre unique, et le fractionner en parties plus petites en utilisant les opérations arithmétiques standards ... mais là je ne sais pas où je vais. Si ça intéresse qqn par ici, je serais ravi d'en parler plus en détail et avoir vos avis !

Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6608
Enregistré le: 22 Nov 2007, 14:00

par fatal_error » 10 Juin 2013, 17:05

ben cquil faut voir c que tu veux un truc sans pertes. Donc deja si tu autorises les nombres qqconques cest quand meme delicat.

Apres si tu arrives a trouver des contraintes sur les nb, par exemple deux nombres consecutifs ne sont pas espaces de plus de 200, ou bien sont multiples de 3 ou je sais pas quoi, alors oui il y a moyen de trouver une suite "generatrice" de tes nombres pour minimiser la taille de stockage.

Mais bon, si les seules informations qu on a cest: les nombres sont des entiers dans l'ordre croissant, ca reste chaud.

On peut par exemple faire un espece de delta:
genre si tas 2222+2266+2300 ...
tu prends le premier nombre 2222 puis prendre les differences apres (qui ne sont que sur deux chiffres au lieu de 4 si tu stockes le nombre suivant)

apres faut voir si tu as des infos a priori sur tes nombres
la vie est une fête :)

DamX
Membre Rationnel
Messages: 630
Enregistré le: 02 Oct 2012, 15:12

par DamX » 10 Juin 2013, 17:08

jav974 a écrit:Ce qui est drôle c'est que j'essaie justement de réaliser un algorithme de compression ^^' , donc ça n'est pas une option pour moi.

J'essaie de m'éloigner le plus possible des techniques de compression usuelles (mon but n'étant pas du tout de refaire un zip/rar like, mais plutôt de me rapprocher de notions plus "mathématiques") (par pitié ne me renvoyez pas sur des liens traitant de compression et autre... ce n'est pas ma direction).

Sinon j'ai bien une autre piste pour appréhender le problème, mais ce ne sera certainement pas plus simple, mais juste pour en parler brièvement: je pensais initialement traiter les données à compresser comme un (grand) nombre unique, et le fractionner en parties plus petites en utilisant les opérations arithmétiques standards ... mais là je ne sais pas où je vais. Si ça intéresse qqn par ici, je serais ravi d'en parler plus en détail et avoir vos avis !

Bonjour,

Quel est le contexte ? ce serait pour compresser quoi ? une suite de nombres entiers ? image ? texte ? Ce serait une compression sans perte ?


EDIT : Je rejoins fatal error, il faut plus d'infos sur les séries.
Si les nombres sont nombreux et "relativement réguliers" et que le temps de compression est open, on peut aussi imaginer un dico de modèles (linéaire, carré, log, exponentielle, sinus, etc ... à souhait), trouver celui qui fit le mieux, et stocker l'identifiant du modele, les 2-3 params qui vont avec issus de la calibration, et les delta par rapport aux valeurs exactes (en faisant gaffe sur le fait qu'on a des nombres entiers, en prenant par exemple Dn entier tel que X_n = Entier(f(n)+Dn) ).
Ce genre de méthodo peut avoir du sens si les données à compresser sont des séries de donneés temporelles.

Damien

jav974
Messages: 8
Enregistré le: 09 Juin 2013, 21:53

par jav974 » 10 Juin 2013, 17:38

DamX a écrit:Bonjour,

Quel est le contexte ? ce serait pour compresser quoi ? une suite de nombres entiers ? image ? texte ? Ce serait une compression sans perte ?


Je recherche la compression sans perte.

Pour le moment je suis capable de charger n'importe quel fichier en mémoire (dans un outil que j'ai développé à cet effet, qui supporte notamment les opérations arithmétiques). Je peux ensuite lire les blocs de mémoire correspondant au fichier chargé et en extraire tout type de représentation.

J'ai tenté l'approche lecture caractère par caractère , en indexant ces caractères et en y associant toutes leurs positions dans le fichier chargé. (comprendre par caractère, que tout fichier peut se lire caractère par caractère même si ce caractère n'est pas affichable (ie , pas dans la table ascii)) .

J'en dégage donc une liste d'instructions de la taille maximale du type de représentation que je veux (si je manipule des char il y aura donc 256 types d’occurrences et un nombre variable de ces occurrences ; idem si je considère des short, j'obtiendrais 2^16-1 types d'instructions ainsi que les positions de ces instructions dans le fichier)

Cette liste de position associée au type d'instruction m'a intrigué :

par ex on peut voir l’occurrence du nombre 125 apparaître 300 fois et je stocke la position de ces occurrences incrémentalement (ie : 125 : 0 5 8 9 124 125015 2563125 ....)

A partir des différentes listes de positions des instructions, je me suis dit que s'il était possible d'en faire une formule mathématique, du genre suite ou autre, alors peut être qu'au lieu de stocker les positions je pourrai stocker une formule qui me permettrait de les retrouver. Idéalement cette formule tiendrait sur moins de place que l'énumération de toutes les positions de l'élément concerné.

Ainsi je voudrais m'affranchir du type de donnée que je traite (avi, mp3, jpeg, txt ...) et réduire le tout à un algorithme "universel" qui ne tient pas compte de ce que l'on traite.

Les régressions linéaires pourraient-elles s'appliquer à ce domaine ? (je suis tombé dessus à l'instant..)

jav

DamX
Membre Rationnel
Messages: 630
Enregistré le: 02 Oct 2012, 15:12

par DamX » 10 Juin 2013, 17:53

jav974 a écrit:Je recherche la compression sans perte.

Les régressions linéaires pourraient-elles s'appliquer à ce domaine ? (je suis tombé dessus à l'instant..)

jav


Les régressions linéaires font partie de la piste par modélisation que j'ai décrite plus haut.

Dans un cadre totalement général, je vois mal comment obtenir un algo "universel" performant, il se fera selon moi forcément "battre" par des algos contextuel (zip-like pour du texte, png pour des images, etc).

Par ailleurs dans une optique totalement universelle, un algo compressant "tout" ne peut mathématiquement pas exister, puisque ça reviendrait à faire rentrer un ensemble dans un autre de cardinal plus petit.

Après, tous les fichiers usuels (quelque soit le type) ont une structure et des redondances, l'idée est de capturer ces redondances et/ou de déplacer un maximum d'infos dans le compresseur (dictionnaire).
Les delta de de fatal error ou les delta par rapport à une calibration de modèle peuvent être tentés déjà pour voir ce que ça donne.

Damien

jav974
Messages: 8
Enregistré le: 09 Juin 2013, 21:53

par jav974 » 10 Juin 2013, 17:59

DamX a écrit:Les régressions linéaires font partie de la piste par modélisation que j'ai décrite plus haut.

Dans un cadre totalement général, je vois mal comment obtenir un algo universel performant, il se fera selon moi forcément "battre" par des algos contextuel (zip-like pour du texte, png pour des images, etc).

Dans ce cadre précis, les delta de de fatal error ou les delta par rapport à une calibration de modèle peuvent être tentés déjà pour voir ce que ça donne.

Damien


J'espère même que ces algos contextuels battront mon algo ! sinon ce serait le monde à l'envers, m'enfin sait-on jamais...

Je vais donc suivre cette piste, si vous avez d'autres idées n'hésitez pas !
jav

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 25 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite