- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2011数建模第一阶段
数学建模培训第一阶段测试
说明:以系别姓名年级命名文件名。
比如:××系××级刘××.doc
一、根据美国人口从1790年到1990年间的人口数据(如下表),确定人口指数增长模型和Logistic模型中的待定参数,估计出美国2010年的人口,同时画出拟合效果的图形。
表1 美国人口统计数据
年 份
1790
1800
1810
1820
1830
1840
1850
人口(×106)
3.9
5.3
7.2
9.6
12.9
17.1
23.2
年 份
1860
1870
1880
1890
1900
1910
1920
人口(×106)
31.4
38.6
50.2
62.9
76.0
92.0
106.5
年 份
1930
1940
1950
1960
1970
1980
人口(×106)
123.2
131.7
150.7
179.3
204.0
226.5
提示:
指数增长模型:
Logistic模型:
解答:
应用指数增长模型
MATLAB中的编程如下
t=1790:10:1980;
x=[3.9,5.3,7.2,9.6,12.9,17.1,23.2,31.4,38.6,50.2,62.9,76.0,92.0,106.5...
123.2,131.7,150.7,179.3,204.0,226.5];
p=polyfit(t,log(x),1);
r=p(1)
x0=exp(p(2))
plot(t,x,+,t,x0*exp(r*t),-)
xlabel(年份);ylabel(人口(x10^{6}));
可以求出指数增长模型中的待定量
r =0.0214 x0 =1.2480e-016
拟合的效果图如下:
Logistic模型:
MATLAB中的编程如下:
t=linspace(1,20,20);
x=[3.9,5.3,7.2,9.6,12.9,17.1,23.2,31.4,38.6,50.2,62.9,76.0,92.0,106.5...
123.2,131.7,150.7,179.3,204.0,226.5];
%假设t=0时,x0=3.9
p=polyfit(t,log(x),1);
r=-p(1)
xm=x0.*(exp(p(2))+1)
plot(t,x,+,t,xm/(1+(xm./x0-1)).*exp(-r.*t),-)
求出的待定量是
r =-0.2142 xm =24.8856
拟合图如下:
预测2010年的人口
指数增长模型预测
t=23;
f=x0*exp(r*t)
结果
f = 622.4063
Logistic模型预测
t=22;
x0=3.9;
xt=xm/(1+(xm./x0-1)).*exp(-r.*t)
结果
xt = 434.1073
二、f(x)的定义如下:
1、写一个函数文件f(x)实现该函数,要求参数x可以是向量;
2、作出该函数的图形;
3、求出f(x)的零点与最值。
解答:
1、function fx=fun(x)
x=input(argument x is undefined:)
n=length(x);
for i=1:n
if x(i)0x(i)~=-4
fx=x(i).^2+x(i)-6;
elseif x(i)=0x(i)10x(i)~=2x(i)~=3
fx=x(i).^2-5*x(i)+6;
else
fx=x(i).^2-x(i)-1;
end
fx
end
2在MATLAB中编辑以下的程序即可,将以下的编程存为函数文件r1。
x=-10:0.02:20;
n=length(x);
for i=1:n
if x(i)0x(i)~=-4
y(i)=x(i)^2+x(i)-6;
elseif x(i)=0x(i)10x(i)~=2x(i)~=3
y(i)=x(i)^2-5*x(i)+6;
else
y(i)=x(i)^2-x(i)-1;
end
end
plot(x,y)
3、
x=-10:0.1:20;
y1=(x.^2+x-6).*(x0x~=-4)+(x.^2-5*x+6).*(x=0x10x~=2x~=3)+...
(x.^2-x-1).*(x==-4|x==2|x==3|x=10);
y2=0;
k=find(abs(y1-y2)1e-2);
lingdian=x(k)
零点为-3
%根据上一题的图形可知该函数没有最大值有最小值
%再由函数文件r1可知该函数的x的取值可以取【-5,5】里面来寻求函数的最小值
%再由图形可以看出函数的最小值在x(i)0x(
文档评论(0)