用matlab绘肆运制logistic曲线的图,可以按下列方法来进行。
第一步:根据给出的数据t和F,用nlinfit非线性回归函数拟合出logistic函数的系数
第二步:根据logistic函数,求埋老出对应裂液梁于t=0:0.1:41的F值
第三步:根据t和F值绘制其logistic曲线图
用nlinfit()函数,可以求得
A=45.6785;r=0.17849;rm=5.1545
【亩数1】初始值是这么定的:>>[c,d]=solve('c/(1+(c/60.2-1)*exp(-5*d))=67.2','c/(1+(c/60.2-1)*exp(-20*d))=90.9','c','d')
c =
62.457687920920008140916437719297-1.6291275002135204129081793780683*i
62.457687920920008140916437719297+1.6291275002135204129081793780683*i
241.95986840768380162085441918688
d =
-.95675170588036288272009149214033e-1+.43712460153973020393407947582405*i
-.95675170588036288272009149214033e-1-.43712460153973020393407947582405*i
.29854891132649696390901254874996e-1
【2】fun的函数形式就是logistic函数。
【3】b1 =
180.9871 0.0336
可以改成这样,效果一样:
%==============
[c,d]=solve('c/(1+(c/60.2-1)*exp(-5*d))=67.2','c/(1+(c/60.2-1)*exp(-20*d))=90.9','c','d') %求初始参数
t=0:51%令1954年为初始年
x=[60.2 61.5 62.8 64.6 66 67.2 66.2 65.9 67.3 69.1 70.4 72.5 74.5 76.3 78.5 80.7 83 85.2 87.1 89.2 90.9 92.4 93.7 95 96.259 97.5 98.705 100.1 101.654 103.008 104.357 105.851 107.5 109.3 111.026 112.704 114.333 115.823 117.171 118.517 119.85 121.121 122.389 123.626 124.761 125.786 126.743 127.627 128.453 129.227 129.988 130.756]
b0=[ eval(c(3)), eval(d(3))]%初始参数值
fun=inline('b(1)./(1+(b(1)/60.2-1)*exp(-b(2)*t))','b','t')
[b1,r1,j1]=nlinfit(t,x,fun,b0)
y1=fun(b1,t)%非线性拟合的方程
plot(t+1954,x,'*',t+1954,y1) %对原始数据与曲线拟合后的值作图
grid
R1=r1.^2
R2=(x-mean(x)).^2
R=1-R1/R2 %可决虚信系数差耐轮
W=sum(abs(r1)) %残差绝对值之
%==============
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)