非線性腳本在數據表上通過平台執行NLR會生成預期結果(請參閱Croucher http://www.walkingrandomly.com/?p=5215),但執行相應的腳本(附加)會導致JMP 7中的崩潰(訪問衝突) 。 [沒看到如何附表,但我可以根據需要發送。]
我使用過類似的腳本[更改數據和方程式]沒有問題。
有什麼想法嗎?
腳本的等式部分是:參數({b0 = 1,b1 = 0.2},
b0 *餘弦(b1 *:X)+ b1 *正弦(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
回复:非線性腳本謝謝,打字問題!我修復它們作為我的文件。
回复:非線性腳本非常感謝腳本。這對我來說可以。我沒有太多使用這個功能,但它顯然是很多型號的理想選擇。
回复:非線性腳本看起來你的一個x值應該是-0.7,而不是-0.07,
回复:非線性腳本你的腳本效果很好。如果與鏈接示例相比,輸入數據會略有不同(參見xv [4]&yv [9])。
在不使用平台的情況下,也可以進行非線性擬合:
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});