编了一个,把它存为yourtanh。m,你试试。
function beta=yourtanh(x,y)
b0=[0。1,1];
beta =nlinfit(x, y, @myfun, b0);
yy=tanh(beta(1) beta(2)*x);
plot(x,y,'o',x,yy)
function yhat = myfun(beta, x)
b1 = beta(1);
b2 = beta(2);
yhat =tanh(b1 b2*x);
在主程序中调用时,先给x和y赋值,再运行或调用yourtanh。
m,例如:
z=[。。。
-2。7639 -0。9772
-2。5221 -0。9893
-2。2802 -0。9772
-1。
9578 -0。9712
-1。7044 -0。9410
-1。3935 -0。9169
-1。2898 -0。8686
-1。0480 -0。7962
-0。
8752 -0。7239
-0。8177 -0。6394
-0。5643 -0。5670
-0。6104 -0。4946
-0。4261 -0。4585
-0。
4376 -0。3861
-0。2764 -0。2775
-0。2073 -0。2051
-0。1036 -0。0845
0。0461 0。0120
0。
1267 0。1447
0。2879 0。2352
0。3916 0。3257
0。3916 0。4041
0。6449 0。5066
0。
8061 0。5790
1。0134 0。6996
1。2668 0。7539
1。6353 0。8746
2。0154 0。9228
2。
4875 0。9711
2。8906 0。9650
2。8906 0。9650];
x=z(:,1);y=z(:,2);
yourtanh(x,y)。
全部