文档详情

2011-2012-2实验5 曲线拟合实验.doc

发布:2018-03-07约1.73千字共4页下载文档
文本预览下载声明
实验5 数据拟合 -3 -1 1 3 15 5 1 5 2 logistic 人口增长模型的参数确定。当人口P(t)受限于极限值L时,它符合logistic曲线,具有形式P(t)=L/(1+CeAt)。对下列数据集求解参数A和C,L是已知的。 (a) (0,200),(1,400),(2,650)(3,850),(4,950); L=1000 (b) (0,500),(1,1000),(2,1800)(3,2800),(4,3700); L=5000 实验原理: 求使得偏差平方和最小的多项式 实验说明:要求输入拟合点,输出拟合函数的系数并在同一坐标系下画出离散点和拟合曲线。 实验步骤 1 要求上机实验前先编写出程序代码 2 编辑录入程序 3 调试程序并记录调试过程中出现的问题及修改程序的过程 4 经反复调试后,运行程序并验证程序运行是否正确。 5 记录运行时的输入和输出。 实验总结 实验报告:根据实验情况和结果撰写并递交实验报告。 参考程序 一、对下列数据,求解最小二乘抛物线 1。最小二乘法求解的程序: function C=lspoly(X,Y,M) n=length(X); B=zeros(1:M+1); F=zeros(n,M+1); for k=1:M+1 F(:,k)=X.^(k-1); end A=F*F; B=F*Y; C=A\B; C=flipud(C); 2、程序调试 错误:在画图时,输入的语句: plot(x,2.125*x^2-1.7*x+0.875); ??? Error using == mpower Matrix must be square. 调试: plot(x,2.125*x.^2-1.7*x+0.875) 3、运行程序 (1)输入: X=[-3,-1,1,3] Y=[15,5,1,5] M=2 输出: C = 0.8750 -1.7000 2.1250 (2)输入: x=-3:0.1:3; plot(x,2.125*x.^2-1.7*x+0.875) 输出: 二、 logistic 人口增长模型的参数确定 (a) (0,200),(1,400),(2,650)(3,850),(4,950); L=1000 (1)求出A与lnC 输入: y=[200,400,650,850,950]; L=1000; Y=log(L./y-1); X=[0,1,2,3,4]; M=1; 输出: B=lspoly(X,Y,M) B = -1.0802 1.4590 (2)求A与C 结果: A=B(1) A = -1.0802 C=exp(B(2)) C = 4.3018 (3)画图: 输入:x=0:0.01:4; y=1000./(1.+4.3018.*exp(-1.0802.*x)); 输出: (b) (0,500),(1,1000),(2,1800)(3,2800),(4,3700); L=5000 (1) 求出A与lnC 输入: y=[500,1000,1800,2800,3700]; L=5000; X=[0,1,2,3,4]; Y=log(L./y-1); M=1; 输出: B=lspoly(X,Y,M) B = -0.8114 2.1971 (2)求A与C 结果: A=B(1) A = -0.8114 C=exp(B(2)) C = 8.9991 (3)画图: 输入:x=0:0.01:4; y=5000./(1.+8.9991.*exp(-0.8114.*x)); 输出: 实验小结: 通过本次试验,我进一步熟练掌握最小二乘多项式拟合算法,提高编程能力和解决拟合问题的实践技能。
显示全部
相似文档