Script non linéaireL'exécution du NLR via la plate-forme sur une table de données génère les résultats attendus (voir Croucher http://www.walkingrandomly.com/?p=5215) mais l'exécution du script correspondant (attaché) entraîne un blocage (violation d'accès) dans JMP 7 . [Je ne vois pas comment joindre une table, mais je peux envoyer au besoin.]
J'ai utilisé des scripts similaires [modifier les données et l'équation] sans problème.
Des pensées?
La section équation du script est la suivante: Parameter ({b0 = 1, b1 = 0.2},
b0 * cosinus (b1 *: x) + b1 * sinus (b0 *: x))
Clear Log(); Clear Globals();
xv = [ -2, -1.64, -1.33, -.07, 0, 0.45, 1.2, 1.64, 2.32, 2.9];
yv = [.699369,.700462,.695354,1.030905,1.97389,2.411430,1.910910,0.919576,-0.770975,-1.42001];
dt = New Table( "Croucher Data",
New Column( "x", SetValues( xv ) ),
New Column( "y", SetValues( yv ) ),
); //close New Table
dt <<
Nonlinear(
Y( :y ),
X( :x ),
Model( Parameter( {b0 = 1., b1 = 0.2},
b0 * Cosine( b1 * :x ) + b1 * Sine( b0 * :x ) ) ),
QuasiNewton SR1,Finish,plot(1),
Confidence Limits
);//close NonLinear
Re: Script non linéaireMerci, problème de dactylographie! Je les ai corrigés pour mon fichier.
Re: Script non linéaireMerci beaucoup pour le script. Ça fonctionne bien pour moi. Je n'ai pas beaucoup utilisé cette fonction, mais elle est évidemment idéale pour de nombreux modèles.
Re: Script non linéaireOn dirait que l'une de vos valeurs x devrait être -0,7 et non -0,07,
Re: Script non linéaireVotre script fonctionne bien. Il y a une légère différence dans les données d'entrée par rapport à l'exemple lié (cf. xv [4] & yv [9]).
Il est également possible de faire cet ajustement non linéaire sans utiliser la plate-forme:
Model = Expr(
b0 * Cosine(b1 * xv) + b1 * Sine(b0 * xv)
);
xv = [-2, -1.64, -1.33, -0.7, 0, 0.45, 1.2, 1.64, 2.32, 2.9];
yv = [0.699369, 0.700462, 0.695354, 1.03905, 1.97389, 2.41143, 1.91091, 0.919576, -0.730975, -1.42001];
b0 = 1;
b1 = 0.2;
SSE = Minimize(Sum((Model - yv) ^ 2), {b0, b1});
Eval List({b0, b1, SSE});