我想实现共享模式拟合,拟合函数是分段函数,代码如下,1st提示错误,该怎么改啊?
Parameter p1=[0,1],p2=[0,1],p3=[0,1],q1=[0,1],q2=[0,1],q3=[0,1],m1=[200,2000],m2=[200,2000],m3=[200,2000];
SharedModel;
Variable t,s1,s2,s3;
ConstStr f1=(1-exp(-(p1+q1)*t))/(1+(q1/p1)*exp(-(p1+q1)*t));f2=(1-exp(-(p2+q2)*(t-4)))/(1+(q2/p2)*exp(-(p2+q2)*(t-4)));f3=(1-exp(-(p3+q3)*(t-21)))/(1+(q3/p3)*exp(-(p3+q3)*(t-21)));
Function s1=if(t<=4,f1*m1,f1*m1*(1-f2));
Function s2=if(t<=4,0,if((t>4)and(t<=21),f2*(m2+f1*m1),f2*(m2+f1*m1)*(1-f3)));
Function s3=if(t<=21,0,f3*(m3+f2*(m2+f1*m1)));
Data;
1 20.8487 0 0
2 24.5239 0 0
3 28.8619 0 0
4 31.6105 3.7248 0
5 33.4164 5.8649 0
6 36.2999 8.5974 0
7 40.0655 13.262 0
8 44.9096 20.0698 0
9 49.2761 26.6406 0
10 53.4604 32.5423 0
11 58.0675 38.3975 0
12 61.6982 44.3234 0
13 65.3678 49.8503 0
14 68.7345 55.8777 0
15 72.2173 61.2881 0
16 75.0802 65.9367 0
17 77.7631 71.058 0
18 80.0713 74.9772 0
19 82.7039 79.4515 0
20 84.5582 84.7288 0
21 85.5965 91.0312 2.6856
22 86.5076 96.3746 8.046
23 87.1629 101.6473 13.2341
24 88.2711 106.0359 18.37
25 89.1458 109.7173 23.9631
提示错误如图
![1stopt分段函数共享模式拟合怎么实现?哪位大神帮帮忙哇%>_<%]()
1.png |