曲线回归

来源:百度知道 编辑:UC知道 时间:2024/06/04 15:31:12
请高手帮我求解一个曲线回归问题:
y=A/r+(c-A/r)*e^(-rt)

其中A=11
c=15

具体数据:
t y
0 15
1 18
2 21
3 23
4 25
5 24
6 26
7 27
8 28
9 27
10 29
11 30
12 28
13 29
14 31
15 29
在线等

用matlab做的:

clear

t=0:15;

y=[15 18 21 23 25 24 26 27 28 27 29 30 28 29 31 29];

N=length(y);

sy=sum(y)*11;

A=11;

c=15;

r1=1;

r2=1;

deltar=1;

n=0;%记录迭代次数

while abs(deltar)>0.0001

    r1=r2;

    s=0;

    for i=1:N

        s=s+A^2+exp(-r1*t(i))*(A*(c*r1-A)+...

            ((c*r1-A)*r1*t(i)-A)*(A+(c*r1-A)*exp(-r1*t(i))-r1*y(i)));

    end

    r2=s/sy;

    n=n+1;

    deltar=r2-r1;

end

n%总的迭代次数

r=r2%r的符合要求的近似值

abs(deltar)%r的误差

z=zeros(1,N);

for i=1:N

    z(1,i)=A/r+(c-A/r)*exp(