x1 x2
0 -9
25 -5
50 -2
100 4
150 5
200 6
300 11
400 14
600 21
800 24
1000 24
1200 26
1400 25
1600 25
2000 24
根据上述数据,拟合一个4参数的非线性方程,即令4个参数分别为 c1, c2, c3 和 c4;参数没有限制时的DPS拟合方程如下:
x2=(c1*x1+c2-sqrt((c1*x1+c2)^2-4*c1*c2*c3*x1))/2*c3-c4
但用户要求其中的c1和c3大于0,小于1; c4>0; c2没有限制.如何根据这些条件修改拟合方程,进行参数拟合。
首先,估计参数大于0,可用取绝对值函数,如参数c4,在方程中可写为abs(c4);
对于参数c1和c3估计值要在0-1之间,可用表达式 (1/(abs(c1)+1))和(1/(abs(c3)+1))进行参数估计,估计参数值后,再根据该公式,求出该项参数估计值。例如如果求得c1=-3,那么方程该项参数估计值=1/(abs(-3)+1))=1/4=0.25。
上面这个方程式为:
x2=((1/(abs(c1)+1))*x1+c2-sqrt(((1/(abs(c1)+1))*x1+c2)^2-4*(1/(abs(c1)+1))*c2*(1/(abs(c3)+1))*x1))/2*(1/(abs(c3)+1))-abs(c4)
举一反三:如第一个参数限制在(-1,1)区间: (1-2/(abs(c1)+1))
举一反三:如第三个参数限制在(3,5)区间: (3+2/(abs(c3)+1))
为方便建模,版主新增加了区间限制函数 limit(y)=1/(abs(x)+1),以后在公式中只要写该函数就可以了,如上述拟合方程为:
x2=(limit(c1)*x1+c2-sqrt((limit(c1)*x1+c2)^2-4*limit(c1)*c2*limit(c3)*x1))/2*limit(c3)-abs(c4)
欢迎光临 统计211 (http://tj211.com/) | Powered by Discuz! X3.2 |