Uso spesso la funzione Riduci a icona in JSL per risolvere un'equazione non lineare e una cosa che ho notato è che occasionalmente la funzione potrebbe non riuscire a raggiungere la convergenza.C'è un modo per ottenere quei risultati dallo script?
Sto scrivendo uno script per risolvere il modello per molti diversi sottoinsiemi di dati e mentre posso ottenere i parametri, l'obiettivo ridotto al minimo e il numero di iterazioni per ogni modello risolto, non so se è finito su un risultato perché ha raggiunto le iterazioni massime, è convergente o non è riuscito a convergere.Di seguito è riportato un esempio della funzione e dei risultati di un ottimo post di Milo, di JMP.
https://community.jmp.com/t5/JMPer-Cable/Minimize-and-Maximize-Functions-in-JSL/ba-p/36355
x = 0;
y = 0;
{objVal, iters, gradient, hessian} =
Minimize(
((2 * x ^ 2 + 12 * x * y - y * 3)),
{x( -1, 1 ), y( -1, 1 )},
<<MAXITER></MAXITER>
Questi dettagli di seguito vengono visualizzati nella finestra del registro e mi piacerebbe ottenere il "SUCCESSO della convergenza" per i risultati di ciascun modello che eseguo.Tutti i suggerimenti sarebbero apprezzati.
nParm=2 Newton ********************************************** ********
Iter nFree Obiettivo RelGrad NormGrad2 Ridge nObj nGrad nHess Parm0 Parm1
0 2 0 0,125 0,5 0 1 1 1 0 0
1 1 -0,23568 29,52863 0,514107 2048 16 1 1 0,282987 -1
2 1 -1,92154 26,15693 0,310463 16 1 1 1 0,442808 -1
3 1 -6,6297 16,7406 0,002094 4 1 1 1 0,954236 -1
40-7. 0 1 1 1 1 1 -1
Convergenza SUCCESSO: Gradiente
Tempo: 0.0166666666627862
x = 1;
y = -1;
objVal = -7;
iter = 4;
gradiente = [-8, 9];
iuta = [4 12, 12 0];
Grazie @Mark_Bailey Questo è quello che ho finito per fare.Cancello il registro, quindi utilizzo get log() per afferrare la finestra e quindi scorrere per estrarre l'elemento con il termine "convergenza".Spero che ci sia un modo più diretto per ottenerlo però.
Dopo che Minimize() ritorna, puoi chiamare la funzione Get Log(). La sintassi è list = Get Log( < n > ). Il risultato è un elenco di righe dalla finestra Registro. L'argomento intero facoltativo consente di selezionare le prime n righe (n positive) o le ultime n righe (n negative).
Quindi puoi esaminare il risultato della convergenza.