实验报告课程名称:数学建模课题名称:求解常微分方程与人口模型专业:信息与计算科学*名:***班级: 123132完成日期: 2016 年 6 月 10 日一.求解微分方程的通解(1). dsolve('2*x^2*y*Dy=y^2+1','x')ans =(exp(C3 - 1/x) - 1)^(1/2)-(exp(C3 - 1/x) - 1)^(1/2)i-i(2). dsolve('Dy=(y+x)/(y-x)','x')ans =x + 2^(1/2)*(x^2 + C12)^(1/2)x - 2^(1/2)*(x^2 + C12)^(1/2)(3). dsolve('Dy=cos(y/x)+y/x','x')ans =(pi*x)/2-x*log(-(exp(C25 + log(x)) - i) /(exp(C25 + log(x))*i - 1))*i (4). dsolve('(x*cos(y)+sin(2*y))*Dy=1','x')ans =-asin(x/2 + lambertw(0, -(C30*exp(- x/2 - 1))/2) + 1)(5). dsolve('D2y+3*Dy-y=exp(x)*cos(2*x)','x')ans =C32*exp(x*(13^(1/2)/2 - 3/2)) + C33*exp(-x*(13^(1/2)/2 + 3/2)) + (13^(1/2)*exp(x*(13^(1/2)/2-3/2))*exp((5*x)/2(13^(1/2)*x)/2)*(2*sin(2*x) - cos(2*x)*(13^(1/2)/2 - 5/2)))/(13*((13^(1/2)/2 - 5/2)^2 +4))-(13^(1/2)*exp(x*(13^(1/2)/2+3/2))*exp((5*x)/2+(13^(1/2)*x)/2)*(2*sin(2*x)+cos(2*x)*(13^(1/2)/2+5/2)))/(13*((13^(1/2)/2 + 5/2)^2 + 4))(6)dsolve('D2y+4*y=x+1+sin(x)','x')ans =cos(2*x)*(cos(2*x)/4 - sin(2*x)/8 + sin(3*x)/12 - sin(x)/4 + (x*cos(2*x))/4 - 1/4) + sin(2*x)*(cos(2*x)/8 - cos(3*x)/12 + sin(2*x)/4 + cos(x)/4 + (x*sin(2*x))/4 + 1/8) + C35*cos(2*x) + C36*sin(2*x)二.求初值问题的解(1). dsolve('x^2+2*x*y-y^2+(y^2+2*x*y-x^2)*Dy=0','y(1)=1','x') ans =(x*((- 4*x^2 + 4*x + 1)/x^2)^(1/2))/2 + 1/2(2). dsolve('D2x+2*n*Dx+a^2*x=0','x(0)=x0','Dx(0)=V0')ans =(exp(-t*(n - (-(a + n)*(a - n))^(1/2)))*(V0 + n*x0 + x0*(-(a + n)*(a - n))^(1/2)))/(2*(-(a + n)*(a - n))^(1/2)) - (exp(-t*(n + (-(a + n)*(a - n))^(1/2)))*(V0 + n*x0 - x0*(-(a + n)*(a - n))^(1/2)))/(2*(-(a + n)*(a - n))^(1/2))三.给出函数f(x)=sinx+cosx在x=0点的7阶taylor展开式以及在x=1处的5阶taylor展开式。
(1). sym x;taylor(exp(x)*sin(x)+2^x*cos(x),7,0)ans =(log(2)^2/48 - log(2)^4/48 + log(2)^6/720 - 1/80)*x^6 + (log(2)/24 - log(2)^3/12 + log(2)^5/120 - 1/30)*x^5 + (log(2)^4/24 - log(2)^2/4 + 1/24)*x^4 + (log(2)^3/6 - log(2)/2 + 1/3)*x^3 + (log(2)^2/2 + 1/2)*x^2 + (log(2) + 1)*x + 1(2). sym x;taylor(exp(x)*sin(x)+2^x*cos(x),5,1)ans =2*cos(1) + exp(1)*sin(1) - (x - 1)^2*(cos(1) - cos(1)*exp(1) + 2*log(2)*sin(1)-cos(1)*log(2)^2)+(x-1)^3*(sin(1)/3+(cos(1)* exp(1)) /3-cos(1)*log(2)-(exp(1)*sin(1))/3+(cos(1)*log(2)^3)/3 - log(2)^2* sin(1)) + (x - 1)^4*(cos(1)/12 - (exp(1)*sin(1))/6 + (log(2)*sin(1))/3 - (cos(1)*log(2)^2)/2 + (cos(1)*log(2)^4)/12 - (log(2)^3*sin(1))/3) + (x - 1)*(cos(1)*exp(1) - 2*sin(1) + 2*cos(1)*log(2) + exp(1)*sin(1))四.判别下列级数的敛散性,若收敛求其和. (1). sym n;symsum(1/(2*n-1),n,1,inf)ans =Inf因此不收敛(2). sym n;symsum(tan(pi/(2*n*sqrt(n+1))),n,1,inf)ans =sum(tan(pi/(2*n*(n + 1)^(1/2))), n == 1..Inf)limit(tan(pi/(2*n*(n + 1)^(1/2)))/(1/n^2),n,inf)ans =Inf因此不收敛(3). sym n;symsum((-1)*(n/2)*(1/(n*sqrt(n+1))),n,1,inf) ans =-sum(1/(n + 1)^(1/2), n == 1..Inf)/2limit(1/(n + 1)^(1/2)/(1/n^2),n,inf)ans =Inf因此不收敛(4). sym n;symsum((-1)^n*(1/(n*log(n))),n,1,inf)ans =sum((-1)^n/(n*log(n)), n == 1..Inf)limit((-1)^n*(1/(n*log(n)))/(1/n^2),n,inf)ans =NaN因此不收敛五.求幂级数的和函数syms x n;symsum((-1)^n*x^n/sqrt(n^2-n),n,2,inf)ans =sum(((-1)^n*x^n)/(n^2 - n)^(1/2), n == 2..Inf)六.求函数项级数的和函数syms x n;symsum((-1)^n*sin(pi/(2^n))*x^n,n,1,inf)ans =sum((-1)^n*x^n*sin(1/2^n*pi), n == 1..Inf)七.人口模型一、实验名称建立适合的拟合模型,预测人口增长二、实验目的认识人口数量的变化规律,建立人口模型,运用专用的拟合函数polyfit求解,并作出较准确的预报三、实验原理对于情况较复杂的实际问题(因素不易化简,作用机理不详)可直接使用数据组建模 ,寻找简单的因果变量之间的数量关系,从而对未知的情形作预报。
拟合模型的组建是通过对有关变量的观测数据的观察、分析和选择恰当的数学表达方式得到的拟合模型组建的实质是数据拟合的精度和数学表达式简化程度间的一个折中。
四、实验题目建立Logistic人口阻滞增长模型,利用表1中的数据分别根据从1954年、1963年、1980年到2005年三组总人口数据建立模型,进行预测我国未来50年的人口情况.并把预测结果与《国家人口发展战略研究报告》中提供的预测值进行分析比较。
分析那个时间段数据预测的效果好?并结合中国实情分析原因。
建立模型阻滞增长模型(Logistic 模型)阻滞增长模型的原理:阻滞增长模型是考虑到自然资源、环境条件等因素对人口增长的阻滞作用,对指数增长模型的基本假设进行修改后得到的。
阻滞作用体现在对人口增长率r 的影响上,使得r 随着人口数量x 的增加而下降。
若将r 表示为x 的函数)(x r 。
则它应是减函数。
于是有: 0)0(,)(x x x x r dt dx == (1)对)(x r 的一个最简单的假定是,设)(x r 为x 的线性函数,即)0,0()(>>-=s r sx r x r (2)设自然资源和环境条件所能容纳的最大人口数量m x ,当m x x =时人口不再增长,即增长率0)(=m x r ,代入(2)式得m x r s =,于是(2)式为 )1()(m x x r x r -= (3)将(3)代入方程(1)得: ⎪⎩⎪⎨⎧=-=0)0()1(x x x x rx dt dx m (4)解得:rt m m e x x x t x --+=)1(1)(0 (5)模型求解用Matlab 求解,程序如下:t=1954:1:2005;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];x1=[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,11 9.85,121.121,122.389,123.626,124.761,125.786,126.743,127.627,128.453,129.227,12 9.988];x2=[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];dx=(x2-x1)/x2;a=polyfit(x2,dx,1);r=a(2),xm=-r/a(1)%求出xm和rx0=61.5;f=inline('xm./(1+(xm/x0-1)*exp(-r*(t-1954)))','t','xm','r','x0');%定义函数plot(t,f(t,xm,r,x0),'-r',t,x,'+b');title('1954-2005年实际人口与理论值的比较')x2010=f(2010,xm,r,x0)x2020=f(2020,xm,r,x0)x2033=f(2033,xm,r,x0)解得:x(m)=180.9516(千万),r=0.0327/(年),x(0)=61.5。