Interpolation

DOP

XLDnaute Nouveau
Bonjour à tous,


J'ai des valeurs aléatoires en Y, variables,
en X des constantes décroissantes non proportionnelles.
Je cherche à connaître la valeur de X pour un Y=50 (par exemple).

X n'étant pas proportionnel et les valeurs Y variables, on ne pas utiliser la fonction DROITEREG.
les équations obtenues sont des fonctions polynomiales de degré 3 à 10 (multiplie les erreurs) et X non proportionnel (coefficients erronés)

C'est pourquoi je suis passé par les intervalles, obtenant ainsi des fonctions linéaires satisfaisant aux points (X1:Y1) (X2:Y2), determinant a et b avec DROITEREG, tel que y=aX+b
Avec la formule =SI(ET(MOYENNE(Y1:Y2)>45;MOYENNE(Y1:Y2)<55);(50-b)/a;"") que je déroule et hop !!
Sauf que les limites 45 et 55, sont elles aussi aléatoires, donc je dois trouver une formule tel que la bonne fonction soit choisie dans les moyennes des Y, c'est à dire que la valeur la plus proche de y=50.

J'ai fais une bidouille du style, si dans la colonne contenant les moyennes Y1:Y2, Y2:Y3 etc... tu trouves une valeur comprise entre 40 et 42,"affiche 40-42" etc...42 et 45
Si(SOMMEPROD((D12 : D19>40)*(D12 : D19)<42)=1;"40-42"; SI( etc...))
mais j'aurais toujours un cas où le Y=50 sera sur la droite dont la moyenne des Y=39....

De plus quand j'affiche dans une cellule (G8) la valeur basse de ma limite "40" :
Si(SOMMEPROD((D12 : D19>40)*(D12 : D19)<42)=1;"40"; SI( etc...))
et dans une autre (G9) ma valeur haute "42"
Si(SOMMEPROD((D12 : D19>40)*(D12 : D19)<42)=1;"42"; SI( etc...))
le calcul suivant ne marche pas,
=SI(ET(MOYENNE(Y1:Y2)>G8;MOYENNE(Y1:Y2)<G9);(50-b)/a;"")
alors qu'avec les valeurs tapées 40 et 42 cela fonctionne ??? >.< ???

Le fichier est en copie normalement,

Merci de votre aide +++

Dopxls
 

Pièces jointes

  • Classeur1.xls
    35 KB · Affichages: 49
  • Classeur1.xls
    35 KB · Affichages: 53
  • Classeur1.xls
    35 KB · Affichages: 43
Dernière édition:

Misange

XLDnaute Barbatruc
Re : Interpolation

Bonjour,

J'ai utilisé une approche différente.
Les plages sont nommées mesX et mesY pour la gamme

Pour que ce soit plus clair, j'ai laissé les étapes intermédiaires du calcul mais tu peux utiliser directement la formule suivante
pour rechercher Y quand tu connais X (placé en D19)

=SI(ESTERREUR(INDEX(mesY;EQUIV(D19;mesX;-1)+1)+(INDEX(mesY;EQUIV(D19;mesX;-1))-INDEX(mesY;EQUIV(D19;mesX;-1)+1))*(D19-INDEX(mesX;EQUIV(D19;mesX;-1)+1))/(INDEX(mesX;EQUIV(D19;mesX;-1))-INDEX(mesX;EQUIV(D19;mesX;-1)+1)));"hors gamme";INDEX(mesY;EQUIV(D19;mesX;-1)+1)+(INDEX(mesY;EQUIV(D19;mesX;-1))-INDEX(mesY;EQUIV(D19;mesX;-1)+1))*(D19-INDEX(mesX;EQUIV(D19;mesX;-1)+1))/(INDEX(mesX;EQUIV(D19;mesX;-1))-INDEX(mesX;EQUIV(D19;mesX;-1)+1)))


pour rechercher X quand Y (placé en D5) est connu
=SI(ESTERREUR(INDEX(mesX;EQUIV(D5;mesY;-1)+1)+(INDEX(mesX;EQUIV(D5;mesY;-1))-INDEX(mesX;EQUIV(D5;mesY;-1)+1))*(D5-INDEX(mesY;EQUIV(D5;mesY;-1)+1))/(INDEX(mesY;EQUIV(D5;mesY;-1))-INDEX(mesY;EQUIV(D5;mesY;-1)+1)));"hors gamme";INDEX(mesX;EQUIV(D5;mesY;-1)+1)+(INDEX(mesX;EQUIV(D5;mesY;-1))-INDEX(mesX;EQUIV(D5;mesY;-1)+1))*(D5-INDEX(mesY;EQUIV(D5;mesY;-1)+1))/(INDEX(mesY;EQUIV(D5;mesY;-1))-INDEX(mesY;EQUIV(D5;mesY;-1)+1)))


On peut évidemment faire aussi cela par macro
par exemple avec une fonction proposée ici-même par DranReb (que je salue au passage :)
A adapter pour trouver X si tu connais Y (tu as les formules adhoc dans le classeur joint

Code:
Function IntpoLin(ByVal X As Double, ByVal X1 As Double, ByVal Y1 As Double, _
ByVal X2 As Double, ByVal Y2 As Double) As Double
   IntpoLin = Y1 + (Y2 - Y1) * (X - X1) / (X2 - X1)
End Function
 

Pièces jointes

  • fc-interpolationlinéaire-formules.xls
    40 KB · Affichages: 28

DOP

XLDnaute Nouveau
Re : Interpolation

yeSsss

Merci Misange !!!
bon je vais essayé d'intégrer cette formule elle a l'air beaucoup plus rapide et je vais la testée sur plusieurs données.
Il faut surtout que j'en comprenne la logique et la syntaxe.
et dire que j'ai passé deux jours sur les régressions polynomiales de degré 6...

J'ai le sentiment d'être un aventurier sur excel!!donc l'aventure commence pour moi! enfin il faut aussi que je me remette aux maths, lol.

Bon week end Misange,
Bon week end à tous!
Dopxls
 

Misange

XLDnaute Barbatruc
Re : Interpolation

Je t'invite à lire cette page qui te convaincra je l'espère du fait qu'un polynome de degré 6 n'a aucun sens dans ton cas (d'ailleurs ça ne représente que très peu tes données)
Ce lien n'existe plus

Tu trouveras beaucoup d'aide ici sur tes questions particulières et sur excelabo pour les tutos.
 

Discussions similaires

Réponses
0
Affichages
83
Réponses
2
Affichages
486

Statistiques des forums

Discussions
311 740
Messages
2 082 047
Membres
101 880
dernier inscrit
Anton_2024