data test9_11; /*创建数据集*/
input t f;
cards;
0 0.214
0.2 0.257
0.4 0.250
0.6 0.243
0.8 0.274
1 0.313
1.2 0.395
1.4 0.356
1.6 0.426
1.8 0.379
2 0.452
2.2 0.393
2.4 0.370
2.6 0.364
2.8 0.383
3 0.348
3.2 0.310
3.4 0.329
3.6 0.272
3.8 0.234
4 0.236
4.2 0.137
4.4 0.149
4.6 0.114
4.8 0.045
5 0.034
5.2 -0.041
5.4 -0.065
5.6 -0.035
5.8 -0.022
6 -0.014
6.2 -0.096
;
run;
proc nlin data=test9_11; /*非线性模型拟合*/
parameters a=0.2,b=0.7,c=0.1; /*模型参数估计值*/
model f=a*sin(b*t)+c; /*需要拟合模型的表达式*/
bounds a>0,b>0; /*模型参数的约束条件*/
run;