Chers tous,
Je vais tout d'abord essayer d'introduire par un exemple le problème auquel je suis confronté. Imaginez un tableau de 100 lignes et 6 colonnes (PAR1, PAR2, VAR, MOD, MEA, ERR).
La colonne MOD contient un modèle (=une formule) qui dépend de 3 paramètres P1, P2 et VAR.
Les valeurs des colonnes P1 et P2 sont fixes et différentes pour chaque ligne.
La colonne VAR contient le troisième paramètre, qui est initialisé à une valeur par défaut au début (disons 1). Pour donner un exemple concret, imaginons que MOD contient la formule suivante : MOD[i] = 3.P1[i]^3+COS(2.P2[i]^2+VAR[i]).
La colonne MEA contient les résultats d'une mesure, différents pour chaque ligne.
Et enfin, ERR contient l'erreur quadratique entre le modèle et la mesure, c'est-à-dire : ERR[i] = (MOD[i] - MEA[i])^2.
Mon objectif est de déterminer, pour chaque ligne, la valeur de VAR[i] afin que la valeur du modèle soit égale à celle de la mesure.
Dans Excel, j'utiliserais le Solveur pour le faire. On peut aussi imaginer un script JSL dans lequel, pour chaque ligne, un algorithme (dichotomie simple, Newton, Brent, ...) trouvera la racine de la fonction F[i] = MOD[i] - MEA[i] par en minimisant la quantité ERR[i].
Mais, je me demande s'il existe une alternative plus simple pour le faire? Avec une plate-forme JMP ?
En attente de votre aimable réponse.
Stéphane
PS : Soyez indulgent pour ma première contribution/question dans la communauté ! 
Parfait! Je ne savais pas que ces 2 fonctions - Minimize() et Constrained Minimize() - existaient. Merci beaucoup pour votre aide
Vous pouvez probablement utiliser minimiser () sur votre fonction de coût souhaitée pour obtenir la valeur optimale de VAR, en optimisant chaque ligne dans une boucle.Voici comment vous pourriez configurer quelque chose comme ça :
dt = Current Data Table();
cost = expr(abs(3 * :PAR1[i] ^ 3 + Cos( 2 * :PAR1[i] ^ 2 + VAR1 ) - :MEA[i]));
for(i=1, i<=N Row(dt), i++,
:VAR[i] = Minimize(cost,{VAR1(-5, 5)});
);Puisque vous n'optimisez qu'une seule erreur (inutile de minimiser une somme d'erreurs au carré), vous pouvez simplement utiliser la fonction de coût plus simple de l'erreur sans mise au carré.
Il existe de nombreux autres arguments que vous pouvez utiliser avec minimiser().Consultez également Constrained Minimize().Cela a semblé fonctionner sur ma table de test que j'ai configurée et les erreurs ont été minimisées tant que j'ai mis une valeur raisonnable pour MEA.