数值建模与仿真实验报告

  • 格式:docx
  • 大小:361.16 KB
  • 文档页数:28

1、 启动和退出MATLAB。在命令窗口认识help、demo命令,并查找cell、floor、fix、round、rem、sign等函数的用法。

2A=[1,0,-1;2,4,1;-2,0,5],B=[0,-1,0;2,1,3;1,1,2] 求 2A+B、A2-3B、A*B、B*A、A.*B、A/B、A\B、A./B、A.\B 3、利用函数产生3X4阶单位矩阵和全部元素都是4.5的4X4阶常数矩阵 4、利用函数产生5X5阶随机分布的矩阵和5X5阶正态分布的随机矩阵

5、练习文件读写操作 1、gcd函数用于求两个整数的最大公约数。先用help命令查看该函数的用法,然后利用该函数求15和35的最大公约数。

2、已知矩阵A=[8,9,5;36,-7,11;21,-8,5],B=[-1,3,-2;2,0,3;-3,1,9]求下列表达式: (1)A+5*B和A-B (2)A*B和A.*B (3)A/B和B\A (4)A^3和A.^3 (5)[A,B] 3、分别用for和while循环结构编写程序,计算下式的值: 10012^12nn)(

4、求下面分数序列前20项之和: 12233558.....

. 1、1行100列的Fibonacc数组a,a(1)=a(2)=1,a(i)=a(i-1)+a(i-2),用for循环语句来寻求该数组中第一个大于10000的元素,并指出其位置i;要求编写M文件。

2、创建一个4×3阶的服从0-1均匀分布的随机矩阵A,求出A中各行的平均值B(列向量),将B补在A的右方构成4×4阶的矩阵C,并提取C的下三角矩阵。

3、根据麦克劳林公式可以得到:e≈1+1+1/2!+1/3!+…+1/n!,编写一段程序, 求当n=10时e的近似值。

4、编写一个函数,使其能够产生如下的分段函数 



1,110,12^0,1||2xxxxxx  1、选择合适的步长绘制出下列函数的图形  2、在同一坐标下绘制函数 x,x2,-x2,sin(x)

在的曲线  3、在极坐标系绘制下列函数的曲线  (1) cos3(t)-1 (2) 2t2+1 4、绘制二维正态分布密度函数

的三维图形。 1、对表达式进行化简

2、求表达式的极限 3、求积分 4、求下列函数的极限问题:

(1) ;

时的极限

5、微分问题 求y’’并简化结果表达式

0xx 分别求当

22)ln(yxyexf(x) 1、求下列多项式f(x)=0时的根。 (1)f(x)=x3-2X2-5 (2)f(x)=x3+2X2+10X-20 2、求函数f(x)=2x2-6在x=[-4 3]之间的极小值和x=-2附近的零点。 3、求下列微分方程在[1 3]区间内的数值解: (1) (2) 1、已知多项式P1(x)=3x+2,P2(x)=5x2-x+2,P3(x)=x2-0.5,求: (1)P(x)=P1(x)P2(x)P3(x); (2)P(x)=0的全部根。 2、求极限值: 20sin21(1)lim(2)lim(1)sin5xxxxxx 3、求微分方程22,(1)1xyxyyy的特解。 程序: y=dsolve('Dy-(y^2-x*y)/(x^2)','y(1)=1','x')

结果: y =

2*x/(1+x^2) 4、解线性方程组 342124554236234xyzxyzxyz



 实验3 人口预测与数据拟合 一、实验目的: 通过对人口预测问题的分析求解,了解利用最小二乘法进行数据拟合的基本思想,熟悉寻找最佳拟合曲线的方法,掌握建立人口增长数学模型的思想方法。 二、实验器材和环境 Matlab2014版本,windows7系统 Malthus模型、logistic模型 三、实验内容和步骤 实验问题: 1981-2016年各年我国人口数的统计数据如下表所示(单位:亿): 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 10.007 10.165 10.301 10.436 10.585 10.751 10.930 11.103 11.27 11.433 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 11.582 11.717 11.852 11.985 12.112 12.239 12.363 12.476 12.579 12.674 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 12.763 12.845 12.923 12.999 13.076 13.145 13.213 13.280 13.345 13.409 2011 2012 2013 2014 2015 2016 13.474 13.540 13.607 13.678 13.746 13.827 根据上述数据,建立我国人口增长的近似曲线,并预测2020年、2025年、2030年我国的人口数量。

1.最小二乘法 程序如下: clear clc X0=[1:36]; Y0=[10.007 10.165 10.301 10.436 10.585 ... 10.751 10.930 11.103 11.27 11.433... 11.582 11.717 11.852 11.985 12.112... 12.239 12.363 12.476 12.579 12.674... 12.763 12.845 12.923 12.999 13.076... 13.145 13.213 13.280 13.345 13.409... 13.474 13.540 13.607 13.678 13.746... 13.827]; a=polyfit(X0,Y0,1)

Y2020

=polyval(a,40)

Y2025=polyval(a,45) Y2030=polyval(a,50) 求得: a = 0.1081 10.2622 Y2020 = 14.5860 Y2025 = 15.1264 Y2030 = 15.6669 2. Malthus模型 clear clc t=[1:36]; x(t)=[10.007 10.165 10.301 10.436 10.585 ... 10.751 10.930 11.103 11.27 11.433... 11.582 11.717 11.852 11.985 12.112... 12.239 12.363 12.476 12.579 12.674... 12.763 12.845 12.923 12.999 13.076... 13.145 13.213 13.280 13.345 13.409... 13.474 13.540 13.607 13.678 13.746... 13.827]; y=log(x(t)); a=polyfit(t,y,1) r=a(1),x0=exp(a(2)) x1=x0.*exp(r.*t); plot(t,x(t),'r',t,x1,'b') 人口预测程序: clear clc t=40; %t是变量,此时t对应2020年 r=0.0093 X0=10.291 X(t)=x0*exp(r*t) 求得:X(40) =14.9285 Malthus模型 首先计算参数增长率r,人口最大值N 程序如下: clear clc t=18; x0=10.007; x1=12.476; x2=13.827; r=(1/t)*log((1/x0-1/x1)/(1/x1-1/x2)) N=(1-exp(-r*t))/(1/x1-(1/x0)*exp(-r*t)) r = 0.0515 N = 14.8838 然后进行曲线拟合 程序如下: clear clc t=[1:36]; x(t)=[10.007 10.165 10.301 10.436 10.585... 10.751 10.930 11.103 11.27 11.433... 11.582 11.717 11.852 11.985 12.112... 12.239 12.363 12.476 12.579 12.674... 12.763 12.845 12.923 12.999 13.076... 13.145 13.213 13.280 13.345 13.409... 13.474 13.540 13.607 13.678 13.746... 13.827]; y(t)=14.8838./(1+(14.8838/10.007-1)*exp(-0.0515*t)); plot(t,x(t),'o:',t,y(t),'r-')

拟合图形如下:

最后根据Malthus模型进行人口预测 程序如下: clear clc t=40 %t是变量,此时t对应2020年 y(t)=14.8838./(1+(14.8838/10.007-1)*exp(-0.0515*t)) Y(40)= 14.0134 Y(45)= 14.2019 Y(50)= 14.3512