Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Re : Interpolation 3D

Bonjour.
À vérifier tout de même.

P.S. D'ailleurs il y a déjà une erreur: en T13 c'est =ENT($Q13)+1
Je le re-joins.

P.S.2 Il y en a même une autre bien plus grave: en P16😛19 c'est :
Code:
=$V16+($X16-$V16)*$R$13+($W16-$V16)*$R$14+($V16-$W16-$X16+$Y16)*$R$13*$R$14
Là je ne le re-joins plus, parce que j'ai pris d'autres données P 26.99999 et W 359.9999 pour vérifier si je retombais bien quasiment sur les valeurs de D14😀17, ce qui est le cas, mais veuillez corriger.
 

Pièces jointes

Dernière édition:
Re : Interpolation 3D

Bonjour nessus, Dranreb.



Un essai de véritable interpolation bilinéaire dans le classeur joint.
Les tableaux de calculs annexes ne sont pas optimisés : pour aller vite, j'ai réutilisé un classeur ancien à "vocation pédagogique" qui avait pour but de montrer les calculs intermédiaires pour résoudre des systèmes linaires à deux, trois ou quatre inconnues.
Si la solution est convenable, il sera temps de simplifier tout ça...​


Bonne journée.


ROGER2327
#6850


Samedi 21 Absolu 141 (Saint Venceslas, duc - fête Suprême Quarte)
7 Vendémiaire An CCXXII, 4,8598h - carotte
2013-W39-6T11:39:48Z


Pièce jointe supprimée : voir les messages #4 et #5.
 
Dernière édition:
Re : Interpolation 3D

Bonjour ROGER2327
J'ai l'impression qu'il y a quelque chose qui ne va pas dans ta solution (mais c'est normal: on a vite fait de se planter !).
En y changeant Pression 26.999 et masse 359.999 ça donne des résultat éloignés des données pour 27 et 360

Je profite de ce post pour joindre ma dernière mouture.
 

Pièces jointes

Re : Interpolation 3D

Re...

Bonjour ROGER2327
J'ai l'impression qu'il y a quelque chose qui ne va pas dans ta solution (mais c'est normal: on a vite fait de se planter !).
En y changeant Pression 26.999 et masse 359.999 ça donne des résultat éloignés des données pour 27 et 360

Je profite de ce post pour joindre ma dernière mouture.
Ouaip ! Gros plantage en perspective !
Je n'ai pas le temps de voir ça tout de suite, mais en attendant, je retire ma contribution.

Merci pour votre vigilance.​


ROGER2327
#6851


Samedi 21 Absolu 141 (Saint Venceslas, duc - fête Suprême Quarte)
7 Vendémiaire An CCXXII, 6,8280h - carotte
2013-W39-6T16:23:14Z
 
Re : Interpolation 3D

mais en attendant, je retire ma contribution.
Mais non, mais non voyons… Et ce n'étais certes pas le but que je recherchais ! À ce compte là je me serais retiré aussi par deux fois plus haut !
Ça vous intéresserait de savoir que j'ai été obligé (pas cap tout seul) de me servir d'un de mes outils de derrière les fagots pour trouver le coef en p*w (j'ai toujours pour presque tout un outil de derrière les fagots). Je le joins en espérant que pour vous son intérêt dépassera son caractère brouillon…
 

Pièces jointes

Re : Interpolation 3D

Bonjour nessus 🙂 , Dranreb 🙂 , ROGER2327 🙂 ,

Pour ce que j'en ai compris (sans doute pas assez 🙁 ), un essai avec des colonnes auxilliaires ( colonne P à Q masquées).
Si c'est pour une utilisation de mon fichier en vol réel, je ne prendrai plus aucun avion 😉.

nb: je n'ai pas traité les cas d'erreur 😕
 

Pièces jointes

Dernière édition:
Re : Interpolation 3D

Bonjour à tous.


Un nouvel essai, probablement moins folklorique que ma première tentative...​


ROGER2327
#6853


Lundi 23 Absolu 141 (Sainte Varia - Miriam, amphibie - fête Suprême Quarte)
9 Vendémiaire An CCXXII, 7,2243h - panais
2013-W40-1T17:20:18Z
 

Pièces jointes

Re : Interpolation 3D

Merci infiniment pour votre aide si precieuse
je pense que le dernier fichier de Roger a l'air de correspondre aux calculs attendus
ci joint un fichier avec les 4 variables traitées separemment pour verification .
est il possible d integrer les calculs intermediaires dans un code vba pour simplifier .

et merci encore
 

Pièces jointes

Re : Interpolation 3D

Bonjour nessus, (et tous les autres)

Concernant mon fichier,il y a quatre colonnes cachées (P à S). Personnellement, j'ai tendance à penser qu'une fonction VBA n'apporterai pas grand chose et serait plus difficile à élaborer que les formules cachées qu'on peut copier/tirer vers le bas pour trouver chacune des 4 valeurs.
 
Dernière édition:
Re : Interpolation 3D

Bonjour mapomme, nessus et tous les autres.



(...) est il possible d integrer les calculs intermediaires dans un code vba pour simplifier .
(...)
Certainement, mais est-ce bien utile, comme dit mapomme ?​

Bonjour nessus, (et tous les autres)

Concernant mon fichier,il y a quatre colonnes cachées (P à S). Personnellement, j'ai tendance à penser qu'une fonction VBA n'apporterai pas grand chose et serai plus difficile à élaborer que les formules cachées qu'on peut copier/tirer vers le bas pour trouver chacune des 4 valeurs.
D'autant plus qu'en rassemblant les petits morceaux, on peut faire une formule unique (i.e. sans cellule auxiliaire) à tirer vers le bas, voire une formule "matricielle" à valider d'un coup pour les quatre résultats.
Pour peu qu'on utilise quelques plages et variables nommées, on arrive à quelque chose de présentable pour pas cher :​
Code:
=INDEX(DAT;EQUIV(M;yM;-1)+dec+4;EQUIV(P;xP;1))
+(
INDEX(DAT;EQUIV(M;yM;-1)+dec;EQUIV(P;xP;1))
-INDEX(DAT;EQUIV(M;yM;-1)+dec+4;EQUIV(P;xP;1))
)
*(M-INDEX(yM;EQUIV(M;yM;-1)+4))
/(
INDEX(yM;EQUIV(M;yM;-1))
-INDEX(yM;EQUIV(M;yM;-1)+4)
)
+(
INDEX(DAT;EQUIV(M;yM;-1)+dec+4;EQUIV(P;xP;1)+1)
-INDEX(DAT;EQUIV(M;yM;-1)+dec+4;EQUIV(P;xP;1))
+(
INDEX(DAT;EQUIV(M;yM;-1)+dec;EQUIV(P;xP;1)+1)
-INDEX(DAT;EQUIV(M;yM;-1)+dec;EQUIV(P;xP;1))
-INDEX(DAT;EQUIV(M;yM;-1)+dec+4;EQUIV(P;xP;1)+1)
+INDEX(DAT;EQUIV(M;yM;-1)+dec+4;EQUIV(P;xP;1))
)
*(M-INDEX(yM;EQUIV(M;yM;-1)+4))
/(
INDEX(yM;EQUIV(M;yM;-1))
-INDEX(yM;EQUIV(M;yM;-1)+4)
)
)
*(P-INDEX(xP;EQUIV(P;xP;1)))
/(
INDEX(xP;EQUIV(P;xP;1)+1)
-INDEX(xP;EQUIV(P;xP;1))
)
Ce n'est pas plus difficile à écrire que du code...

Voir le détail dans le classeur joint.​


ROGER2327
#6855


Mardi 24 Absolu 141 (Saints Rakirs et Rastrons, porte-côtelettes - fête Suprême Quarte)
10 Vendémiaire An CCXXII, 0,7188h - cuve
2013-W40-2T01:43:31Z
 

Pièces jointes

Re : Interpolation 3D

Suite...


Lorsqu'on veut aller vite on ne va pas nécessairement bien...

Tant qu'à rassembler les petits morceaux, autant le faire proprement !
La formule précédente s'écrit alors :​
Code:
=(
   (
      INDEX(DAT;EQUIV(M;yM;-1)+dec+4;EQUIV(P;xP;1))
    *(INDEX(xP;EQUIV(P;xP;1)+1)-P)
     +INDEX(DAT;EQUIV(M;yM;-1)+dec+4;EQUIV(P;xP;1)+1)
    *(P-INDEX(xP;EQUIV(P;xP;1)))
   )
  *(INDEX(yM;EQUIV(M;yM;-1))-M)
  +(
      INDEX(DAT;EQUIV(M;yM;-1)+dec;EQUIV(P;xP;1))
    *(INDEX(xP;EQUIV(P;xP;1)+1)-P)
     +INDEX(DAT;EQUIV(M;yM;-1)+dec;EQUIV(P;xP;1)+1)
    *(P-INDEX(xP;EQUIV(P;xP;1)))
   )
  *(M-INDEX(yM;EQUIV(M;yM;-1)+4))
 )
/(INDEX(xP;EQUIV(P;xP;1)+1)-INDEX(xP;EQUIV(P;xP;1)))
/(INDEX(yM;EQUIV(M;yM;-1))-INDEX(yM;EQUIV(M;yM;-1)+4))


ROGER2327
#6857


Mardi 24 Absolu 141 (Saints Rakirs et Rastrons, porte-côtelettes - fête Suprême Quarte)
10 Vendémiaire An CCXXII, 5,9576h - cuve
2013-W40-2T14:17:53Z
 

Pièces jointes

Re : Interpolation 3D

Re...


Salut Roger ,Mapomme ,Dranreb ..
je voudrais appliquer ta formule sur un autre de mes tableaux ,helas mes neurones ont givrés
help me please
merci
Vous avez-là un problème assez différent du précédent puisque :


  1. Les données sont transposées.
  2. L'ordre des valeurs d'intitulés de colonnes est inversé.
  3. Le pas des intitulés de lignes passe de 4 à 6.

Aucune chance que les formules proposées plus haut fonctionnent dans ces conditions !

Il va falloir mettre les pattes dans le cambouis...

Je pars de la formule la plus simple, celle du message #12 :

Code:
=(
   (
      INDEX(DAT;EQUIV(M;yM;-1)+dec+4;EQUIV(P;xP;1))
    *(INDEX(xP;EQUIV(P;xP;1)+1)-P)
     +INDEX(DAT;EQUIV(M;yM;-1)+dec+4;EQUIV(P;xP;1)+1)
    *(P-INDEX(xP;EQUIV(P;xP;1)))
   )
  *(INDEX(yM;EQUIV(M;yM;-1))-M)
  +(
      INDEX(DAT;EQUIV(M;yM;-1)+dec;EQUIV(P;xP;1))
    *(INDEX(xP;EQUIV(P;xP;1)+1)-P)
     +INDEX(DAT;EQUIV(M;yM;-1)+dec;EQUIV(P;xP;1)+1)
    *(P-INDEX(xP;EQUIV(P;xP;1)))
   )
  *(M-INDEX(yM;EQUIV(M;yM;-1)+4))
 )
/(INDEX(xP;EQUIV(P;xP;1)+1)-INDEX(xP;EQUIV(P;xP;1)))
/(INDEX(yM;EQUIV(M;yM;-1))-INDEX(yM;EQUIV(M;yM;-1)+4))
Les paramètres en sont :


  1. DAT : table de données.
  2. yM : intitulés de lignes.
  3. xP : intitulés de colonnes.
  4. M : valeur à interpoler dans yM.
  5. P : valeur à interpoler dans xP.
  6. dec : vecteur {0;1;2;3} dont les composantes sont les paramètres de décalage pour atteindre les quatre données associées à un intitulé de ligne.

Pour résoudre votre nouveau problème, traitons les soucis un par un.


  1. La transposition.
    Il suffit d'inverser les positions de M et P : M en AA6 au lieu de AA5, P en AA5 au lieu de AA6.

  2. L'ordre des valeurs d'intitulés.
    Il a une incidence sur le paramétrage de la fonction EQUIV.
    Dans le cas qui nous occupe, tous les EQUIV(P;xP;1) doivent devenir EQUIV(P;xP;-1).
    Comme vous souhaitez utiliser la fonction dans diverses configurations d'ordre, il vaut mieux paramétrer le choix de l'ordre par une constante nommée : ça évitera de modifier la formule en de multiples endroits avec tous les risques d'erreur inhérent à ce genre de bricolage.
    Créons donc deux constantes nommées oM et oP auxquelles on attribue les valeurs 1 ou -1 selon que les valeurs d'intitulés de lignes et de colonnes sont ordonnées en croissant ou en décroissant. (Dans le cas présent, on les fixe toutes deux à -1 puisque les valeurs d'intitulés de lignes et de colonnes sont toutes deux ordonnées en décroissant.)

    Conséquence pour la formule : remplacement des EQUIV(P;xP;1) par EQUIV(P;xP;oP) et remplacement des EQUIV(M;xM;-1) par EQUIV(M;xM;oM).

  3. Passage du pas des intitulés de lignes de 4 à 6.
    Il nécessite d'une part de remplacer la définition de dec : {0;1;2;3} doit devenir {0;1;2;3;4;5} ; d'autre part, il faudra remplacer partout les +4 par des +6.
    C'est chiant à faire chaque fois qu'on change de tableau. Par conséquent, paramétrons.
    Créons une nouvelle constante nommée o et fixons-là à 6.
    Profitons-en pour rendre automatique la modification de dec en le définisant non par {0;1;2;3} ou {0;1;2;3;4;5}, mais par : =LIGNE(DECALER(Feuil2!$A$1;;;o😉)-1. Ainsi, la fixation de la valeur de o ajustera dec en conséquence.


La formule devient par conséquent :


=(
(
INDEX(DAT;EQUIV(M;yM;oM)+dec+o;EQUIV(P;xP;oP))
*(INDEX(xP;EQUIV(P;xP;oP)+1)-P)
+INDEX(DAT;EQUIV(M;yM;oM)+dec+o;EQUIV(P;xP;oP)+1)
*(P-INDEX(xP;EQUIV(P;xP;oP)))
)
*(INDEX(yM;EQUIV(M;yM;oM))-M)
+(
INDEX(DAT;EQUIV(M;yM;oM)+dec;EQUIV(P;xP;oP))
*(INDEX(xP;EQUIV(P;xP;oP)+1)-P)
+INDEX(DAT;EQUIV(M;yM;oM)+dec;EQUIV(P;xP;oP)+1)
*(P-INDEX(xP;EQUIV(P;xP;oP)))
)
*(M-INDEX(yM;EQUIV(M;yM;oM)+o))
)
/(INDEX(xP;EQUIV(P;xP;oP)+1)-INDEX(xP;EQUIV(P;xP;oP)))
/(INDEX(yM;EQUIV(M;yM;oM))-INDEX(yM;EQUIV(M;yM;oM)+o))


En réglant correctement les paramètres, la formule est utilisable sans modification aussi bien avec votre ancien tableau qu'avec le nouveau. (Voir le classeur joint.)

Ceci fait, j'ai apporté une autre modification à votre tableau : j'ai chargé la valeur d'erreur #N/A dans toutes les cellules vides. Faute de quoi ces cellules sont interprétées comme ayant la valeur zéro, ce qui est regrettable.

Reste à vérifier que les résultats obtenus sont corrects...


Bonne journée.


ROGER2327
#6858


Mercredi 25 Absolu 141 (Nativité de Sainta Magnificence Opach - fête Suprême Quarte)
11 Vendémiaire An CCXXII, 0,9120h - pomme de terre
2013-W40-3T02:11:20Z
 

Pièces jointes

Re : Interpolation 3D

Bonsoir.

Ce sera peut être plus simple comme ça.
Mais pour moi c'est de l'interpolation 2D, pas 3D. 3D ce serait si vous aviez des valeurs au 8 sommets d'un parallélépipède à l'intérieur duquel serait le point…
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
802
Réponses
2
Affichages
248
Réponses
5
Affichages
139
  • Question Question
Microsoft 365 archivage excel
Réponses
12
Affichages
278
  • Question Question
Microsoft 365 Excel graphique
Réponses
3
Affichages
352
Réponses
3
Affichages
150
Retour