Echantillonage courbe

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
redeka
Membre Naturel
Messages: 24
Enregistré le: 07 Mar 2008, 16:49

Echantillonage courbe

par redeka » 09 Avr 2008, 12:29

Bonjour.

je dispose dans un plan de la courbe d'equation:
y=(Z-a-Bx)/(Ax+C) , où A,B,C,Z et a sont des réels.

Je dois echantillonner cette courbe entre deux bornes xmin et xmax (dans [0,1]), de manière la plus régulière possible, c'est à dire que la distance d'arc entre deux points soit constante (si j'avance constamment de 0,1 par exemple, là où la courbe est proche d'une verticale il n'y aura aucun echantillonage, ce qui n'est pas bon).

Mon idée est donc de determiner D(x(t)) la distance d'arc entre les points d'abcisses xmin et x(t), afin d'avoir d=D(xmax)/N la distance entre deux points d'abcisses x(t) et x(t+1), et par conséquent d'obtenir x(t+1) en fonction de x(t) grâce à la relation: D(x(t+1))-D(x(t))=d

Je suis parti de la formule de Riemann, pour calculer la distance entre deux points d'abcisses connues.

Calculé grâce à Mathematica, le résultat D(x) est peu appetissant mais ça passe encore

Le problème est que lorsque je tente d'utiliser la relation D(x(t+1))-D(x(t))=d afin de determiner x(t+1), Mathematica commence à sortir de... grosses... TRES grosses equations, avec par exemple des fonctions ProductLog (qui sont la solution sous w de w exp(w) = z )

Au final j'arrive avec une equation enormissime, que mon programme (un logiciel de geologie) n'arrive pas à traiter puisqu'il ne connait pas la moitié des fonctions...

J'ai donc cherché à lui faire des DL un peu partout, mais au final j'ai un résultat qui est particulièrement faux et ne tourne pas.

Je cherche donc tout conseil ou astuce qui me permettra de résoudre cela.

Pour info, voici quelques bouts de mes résultats:

Image
Image
Image

Ensuite je fais des DL afin d'obtenir un truc mais...

Soit je me suis planté dans cette demo, soit c'est les DL qui plantent ou ne sont pas faisables...



JJa
Membre Relatif
Messages: 254
Enregistré le: 06 Mar 2008, 15:52

par JJa » 09 Avr 2008, 12:48

Bonjour,

il me semble que c'est pousser un peu trop loin la rigeur d'échantillonnage.
Des processus plus simples ne seraient-ils pas suffisants, tout en conservant l'ordre de grandeur des distances, sans vouloir des distances d'arc égales entre elles ?
Par exemple, un double échantillonnage, l'un à Dx constant, l'autre à Dy constant en considérant l'ensemble des points obtenus. Eventuellement, pour réduire le nombre de points, à chaque "pas" choisir entre les deux points obtenus respectivement pour Dx et Dy, celui qui correspond à la plus petite distance par rapport au point précédent au lieu de conserver les deux points.

redeka
Membre Naturel
Messages: 24
Enregistré le: 07 Mar 2008, 16:49

par redeka » 09 Avr 2008, 19:20

hum...

effectivement, cela simplifierait enormement, puisqu'il n'y aurait à appliquer qu'une racine carrée pour obtenir le résultat...

Mon algorithme de placement serait alors:

N points restant à placer, on est à x,y dernier point placé. La distance "idéale" entre deux points est d.

x1=(xmax-x)/N
y1=(Z-a-B*x1)/(A*x1+C)
d1=sqrt((x-x1)²+(y-y1)²)
y2=(y"max"-y)/N
x2=(Z-a-C*y2)/(A*y2+B)
d2=sqrt((x-x2)²+(y-y2)²)
si(abs(d-d1)sinon {x=x2;y=y2}
placer(x,y)
N=N-1;

Bref, quelquechose d'extrèmement court...

Ca me paraît être une excellente idée! Merci beaucoup!

Si quelqu'un en a une autre je suis quand même preneur, on sait jamais :D

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 30 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