实验9人口预测1.曲线拟合•多项式曲线拟合•其它曲线拟合2.人口增长预测•人口增长模型•最小二乘拟合问题:人口预测1971年到1990年各年我国人口数的统计数据如下(单位:亿)年份1971197219731974197519761977197819791980统计8.5238.7188.9219.0869.2429.3729.4979.6269.7549.871年份1981198219831984198519861987198819891990统计10.00710.16510.30110.43610.58510.75110.93011.10311.27011.433试根据以上数据,建立我国人口增长的近似曲线,并预测2000年、2005年、2010年、…的人口数.1975198019851990199568101214年年年年年年年年1971—1990年我国人口数量最佳曲线拟合对于一组数据一组数据,),(11yx,),,(22yx),(nnyx寻找一个合适类型的函数baxybxayenxxx,,,21)(,),(),(21nxfxfxfnyyy,,,21)(xfy使它在观测点处所取的值与观测值在某种尺度下最接近,从而可用作为由观测点所反映的规律。)(xfy最佳曲线拟合)(0111nmaxaxaxaymmmm1.最小二乘拟合对于一组数据),(11yx,),,(22yx),(nnyx选定某一函数)(0111nmaxaxaxaymmmmbxaye)(xfy最小这种根据偏差平方和最小的条件确定参数的方法最小二乘拟合法确定函数中的参数,使得),,2,1()(niyxfriiiniir12,比如或)()()()()(2211nmxaxaxaxfmmnkkkmmkkaaayxaxaxam122211,,,))()()((min210))()()()((0))()()()((0))()()()((12211122112122111nkkkmmkkkmnkkkmmkkknkkkmmkkkyxaxaxaxyxaxaxaxyxaxaxax一般目标函数:一组拟合基函数的线性组合问题模型:多元函数极值求解:建立法方程组GYPGGTGY)(GGPT1,,maaa21P)()()()()()()()()(212221212111nmmmnnxxxxxxxxxGnyyy21Ynknkkkmkmmkkkmnknkkkkmmkkknknkkkkmmkkkyxxaxaxaxyxxaxaxaxyxxaxaxax1122111122211211122111)())()()()(()())()()()(()())()()()((转化为矩阵形式多项式曲线拟合0111)(axaxaxaxfymnmmniiimimmimmyatatataaaaQ12011110)(),,,()0,,1,(0),,,(01mmkaaaaQkmm)0,,(0)(10111mktyatatatanikiiimimmimMATLAB软件提供了相应的命令polyfit,格式:p=polyfit(x,y,m)函数:模型:法方程组:最小求解得到多项式系数向量:],,,,[011aaaapmmmxxx,,,,12拟合基函数为幂函数类例:已知观测数据x0.1.2.3.4.5.6.7.8.91y-.4471.9783.286.167.087.347.669.569.489.311.2求最小二乘拟合多项式曲线.clearx=0:.1:1;y=[-.4471.9783.286.167.087.347.669.569.489.311.2];plot(x,y,'k.','markersize',25);axis([-0.11.3-216]);grid;holdonpausep1=polyfit(x,y,3);t=0:.01:1.2;f1=polyval(p1,t);plot(t,f1,'b-','linewidth',2);pausep2=polyfit(x,y,6);f2=polyval(p2,t);plot(t,f2,'r--','linewidth',2);00.20.40.60.811.21.4024681012141618其它曲线拟合如:基函数为指数函数类三角函数类mnxnnecy0mnnnnxbnxay0)sincos(对于实际问题要进行曲线拟合:一方面可以根据经验来做出适当选择,确定目标函数类型;另一方面,要对问题进行深入研究分析,找出问题变化的整体规律,确定相应的目标函数类型。1971年到1990年各年我国人口数的统计数据如下(单位:亿)年份1971197219731974197519761977197819791980统计8.5238.7188.9219.0869.2429.3729.4979.6269.7549.871年份1981198219831984198519861987198819891990统计10.00710.16510.30110.43610.58510.75110.93011.10311.27011.433试根据以上数据,建立我国人口增长的近似曲线,并预测2000年、2005年、2010年、…的人口数.2.人口预测问题1975198019851990199568101214年年年年年年年年1971—1990年我国人口数量要考察数据点的整体变化规律——最小二乘曲线拟合。最小二乘曲线拟合选择目标函数:多项式曲线(低次)polyfit(x,y,m)命令人口增长规律?x=1:20;y=[8.5238.7188.9219.0869.2429.3729.4979.6269.7549.871...10.00710.16510.30110.43610.58510.75110.93011.10311.27011.433];plot(x+1970,y,'k.','markersize',20);axis([19712010618]);grid;holdonpauset=1:40;p1=polyfit(x,y,3);f1=polyval(p1,t);plot(t+1970,f1,'bo-','linewidth',2);pausep2=polyfit(x,y,6);f2=polyval(p2,t);plot(t+1970,f2,'ro--','linewidth',2);多项式曲线拟合程序(3次、6次)拟合三次(n=3)多项式曲线拟合六次(n=6)多项式曲线类型:属于生物种群繁殖这一大类问题模型:Malthus模型(1798年)人口增长的数学模型(1)求解:)(ddtrxtxrtxxdd1即相对增长率为常数.其中,B、D分别为个体的平均生育率和死亡率.DBrrtxtxe)(0结论:生物种群个体数量是按指数方式增长的Malthus模型求解:设人口数量N(t)和时间t的关系为btartxtNee)(0btatN)(lnniiiNbtabaQ12)ln(),(niiiiniiitNbtabQNbtaaQ110)ln(20)ln(2求a,b使最小法方程组niiiniiniiniiniiNtNBbaptttnA111211lnln,,BApBAp1令clear;clft=1:20;N=[8.5238.7188.9219.0869.2429.3729.4979.6269.7549.871...10.00710.16510.30110.43610.58510.75110.93011.10311.27011.433];plot(t+1970,N,'k.','markersize',20);axis([19712010618]);grid;holdonpausen=15;%以1971-1985年15年统计数据拟合Malthus模型a=sum(t(1:n));b=sum(t(1:n).*t(1:n));c=sum(log(N(1:n)));d=sum(log(N(1:n)).*t(1:n));A=[na;ab];B=[c;d];p=inv(A)*BT=1:40;f=exp(p(1)+p(2)*T);plot(T+1970,f,'ro-','linewidth',2)Malthus模型求解程序p=[2.14240.0148]ttN0148.01424.2e)(Malthus模型图示8.6468.7758.9059.0389.1729.3099.4479.5879.7309.87510.02110.17110.32210.47510.63110.78910.94911.11211.27711.4458.5238.7188.9219.0869.2429.3729.4979.6269.7549.87110.00710.16510.30110.43610.58510.75110.93011.10311.27011.43311.61511.78811.96312.14112.32112.50512.69112.87913.07113.26513.46213.66313.86614.07214.28114.49414.70914.92815.15015.3751971—1990人口统计结果1971—1990Malthus模型预测结果1991—2010Malthus模型预测结果模型:Logistic模型(1838年)人口增长的数学模型(2)求解:rtxxdd1变形:)1(dd1kxrtxx000e)()(xxkkxtxrtbtartktNkxkxe1)(1e)11(110btaktNe1)(1(常数k为环境最大容纳量)Logistic模型求解:设人口数量N(t)和时间t的关系为niiiMbtabaQ12)ln(),(niiiiniiitMbtabQMbtaaQ110)ln(20)ln(2求a,b使最小法方程组niiiniiniiniiniiMtMBbaptttnA111211lnln,,BApBAp1令btaktNe1)(1btakN)ln(1111kNMclear;clfT=1:20;N=[8.5238.7188.9219.0869.2429.3729.4979.6269.7549.871...10.00710.16510.30110.43610.58510.75110.93011.10311.27011.433];plot(T+1970,N,'k.','markersize',20);axis([19712010618]);grid;holdonpausek=18;M=1./N-1/k;n=15;%以1971-1985年15年统计数据拟合Logistic模型a=sum(T(1:n));b=sum(T(1:n).*T(1:n));c=sum(log(M(1:n)));d=sum(log(M(1:n)).*T(1:n));A=[na;ab];B=[c;d];p=inv(A)*Bt=1:40;f=1./(1/k