如何运用MATLAB程式计算Logistic模型曲线参数期序 数值1 16.672 14.293 13.234 12.895 11.636 11.457 10.98 8 8.819 8.5910 8.2211 7.62 12 7.5513 6.73模型形式 yt=1/a+bc^t 请问如何求出a,b,c三个参数值呢?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 10:05:11

如何运用MATLAB程式计算Logistic模型曲线参数期序 数值1 16.672 14.293 13.234 12.895 11.636 11.457 10.98 8 8.819 8.5910 8.2211 7.62 12 7.5513 6.73模型形式 yt=1/a+bc^t 请问如何求出a,b,c三个参数值呢?
如何运用MATLAB程式计算Logistic模型曲线参数
期序 数值
1 16.67
2 14.29
3 13.23
4 12.89
5 11.63
6 11.45
7 10.98
8 8.81
9 8.59
10 8.22
11 7.62
12 7.55
13 6.73
模型形式 yt=1/a+bc^t
请问如何求出a,b,c三个参数值呢?

如何运用MATLAB程式计算Logistic模型曲线参数期序 数值1 16.672 14.293 13.234 12.895 11.636 11.457 10.98 8 8.819 8.5910 8.2211 7.62 12 7.5513 6.73模型形式 yt=1/a+bc^t 请问如何求出a,b,c三个参数值呢?
clc
data = [
1 16.67
2 14.29
3 13.23
4 12.89
5 11.63
6 11.45
7 10.98
8 8.81
9 8.59
10 8.22
11 7.62
12 7.55
13 6.73];
t = data(:,1);
y = data(:,2);
abc0=[1,1,0.5];
abc = lsqcurvefit(@fun,abc0,t,y)
yfit = 1./t .* ( 1/abc(1)+ abc(2) * abc(3).^t );
plot(t,y,'b')
hold on
plot(t,yfit,'r')
function y = fun(abc,t)
y = 1./t .* ( 1/abc(1)+ abc(2) * abc(3).^t );
计算出的结果和abc的初值abc0有很大关系,所以你最好有一个预先的取值估计