Ciao,
Il mio obiettivo è fare in modo che JSL esegua l'iterazione dei valori in due colonne (x1, x2) che vengono utilizzate nelle formule di altre colonne fino a quando non soddisfa i criteri di [colonna (y1) - colonna (y2) = 0; colonna (z1) - colonna (z2) = 0]. Nota che l'equazione che sto cercando di risolvere è un'equazione non lineare annidata dove
y1 = f1 (x1, x2, x3, x4 ...)
y2 = f2 (x1, x2, x3, x4 ...)
z1 = y1 + y2
z2 = valore indipendente
In Excel, era abbastanza semplice suddividere l'equazione in più colonne per tracciare più facilmente se ci fossero errori di calcolo nel mezzo. Quindi iterare su ogni riga ed eseguire un risolutore per iterare x1 e x2 fino a quando non vengono soddisfatti i criteri oggettivi.
In JMP, ho difficoltà a utilizzare la funzione di riduzione a icona vincolata per replicare questo. Ogni volta che eseguo lo script, non sembra convergere perché l'obiettivo target non è stato raggiunto ei valori cambiano costantemente. Inoltre posso impostare solo 1 obiettivo di destinazione anziché 2. Di seguito è riportato un esempio del mio codice JSL. Tieni presente che column_y1 e column_y2 sono colonne formula che contengono variabili x1 e x2 all'interno.
dt = Current Datatable();
expr1 = abs(:column_y1[i] - :column_y2[i]);
x1 = 0.5;
x2 = 0.2;
For Each Row(
i=Row();
minfun = Constrained Minimize (expr1, {x1(0.1,0.8), x2(0.01,0.5)},
<<MAXITER></MAXITER>Pensi che debba avere l'INTERA equazione annidata nell'espressione affinché funzioni? O c'è qualcosa di sbagliato che sto facendo qui.
Qualsiasi aiuto è molto apprezzato. Grazie!