举例:
天数 0 7 14 21 28
重量 0.2480 0.7677 1.4190 1.5782 1.6712
求其生长曲线Richards。
因为这方面实在不懂,求具体操作步骤。
由于Richards曲线方程是非线性函数,所以应用lsqcurvefit()函数来拟合。拟合步骤如下:
t=[0 7 14 21 28];
y=[0.2480 0.7677 1.4190 1.5782 1.6712];
func=inline('a(1)./(1+a(2).*exp(-a(3).*t).^a(4))','a','t');
b=[0.95717 0.48538 0.80028 0.14189];
a=lsqcurvefit(func,b,t,y);
disp(['系数A:',num2str(a(1))])
disp(['系数B:',num2str(a(2))])
disp(['系数k:',num2str(a(3))])
disp(['系数N:',num2str(a(4))])
t1=0:0.5:28;
y1=func(a,t1);
plot(t,y,'ro',t1,y1,'p-','LineWidth',2),grid on,xlabel('天数'),ylabel('重量')
legend('拟合前的数据','拟合后的数据')
输出的图形