當前位置:編程學習大全網 - 編程軟體 - 有誰會用matlab求解SBM模型

有誰會用matlab求解SBM模型

這個數據沒有 logistic 規律吧~

下面程序妳參考壹下:

% curvefitLogistic.m

% 在實際應用時, 只有在確認所得的生物數據具有 logistic 曲線規律, 擬合的結果才

% 有意義,下面這組數據具有 logistic 曲線規律!

N=[3929 5308 7240 9638 12866 17069 23192 31443 38558 50156 62948 ...

75995 91972 105711 122775 131669 150697 179323 203185 226500];

t=1790:10:1980;

% 畫原始數據圖

plot(t,N,t,N,'r*')

hold on

% Logistic 函數的構造

func = @(beta,x) beta(1)./(1+(beta(1)/N(1)-1)*exp(-beta(2)*(x-1790)));

% 關鍵:尋優初值的選取:beta0(1)為函數的最大值,beta0(1)盡可能小,這裏直接取 0

% 因為:現在在計算機上進行 logistic 曲線擬合, 多采用 Guass壹Newton 算法和 Guass-

% Newton 的改進算法 Marquardt 法, 這兩種算法只有在選取壹組與實際值較接近的初

% 值K, a, b 時, 叠代過程的收斂性才好, 即找到的K 、a 、b 的值能使 R 值最小!

beta0 = [max(N) 0];

% lsqcurvefit 調用

[beta,resnorm,residual,exitflag,output]= lsqcurvefit(func,beta0,t,N);

  • 上一篇:開機後explorer.exe程序錯誤0x00000000指令引用得0x00000000內存不能為read
  • 下一篇:betta貝塔奶瓶奶嘴通氣閥怎麽紮開
  • copyright 2024編程學習大全網