clcclear all
set(0,'DefaultAxesColorOrder',[0 0 0],...
'DefaultAxesLineStyleOrder','-|-.|--|:')
% 第一周的产量
P(1) = 50
% 初始库存为 50 辆手推车
I1(1) = 50
% 初始库存为 30 辆手推车
I2(1) = 30
% 10 周计划生产量
S = [50 55 60 70 70 75 80 80 90 55]
% 情况 1
for i = 2:10
I1(i) = P(i-1) + I1(i-1) - S(i-1)
if I1(i) <= 0
break
end
P(i) = S(i-1)
end
% 情况 2
for i = 2:10
I2(i) = P(i-1) + I2(i-1) - S(i-1)
if I2(i) <= 0
break
end
P(i) = S(i-1)
end
plot(I1)
hold on
plot(I2, '--')
legend('初始库存 50', '初始库存为 30')结果图:
一、 实验内容:(1)若国民平均收入x与人口平均资金积累y成正比,说明仅当总资金积累的相对增长率k大于人口的相对增长率r时,国民平均收入才是增长的.
(2)作出k(x)和r(x)的示意图,分析人口激增会导致什么后果.
二、实验步骤:
1.【建模分析】:
(1).(X(t),Y(t))与(x(t),y(t))之间的距离总是硬棒的长度,于是
(1)
(2).玩具总是在硬棒的方向上运动,因此,两个位置的差向量是玩具的速度方向的倍数, :
(2)
(3)玩具的速度依赖于小孩的速度向量Vc的方向。小孩的速度 在硬棒上的投影是玩具的速度 的模。
【特例】:假设小孩在半径为a(硬棒的长)的圆上行走。在此特殊情况下,玩具停留在此圆的圆心,根本不运动。
将式(2)代入式(1)可得,
(3)
于是
(4)
(4)如何利用 ?
标准化差向量 ,可得单位向量 ;
确定 在 生成的子空间上的投影: ;
(5)数值解法
(6)数值解Matlab程序:
2.x1(t)---t时刻总资金积累量,x2(t)---t时刻人口数量,x3(t)---t时刻国民平均收入量,k---总资金的相对增长率,r---人口的相对增长率
假设:
(1)总资金增长和人口增长均满足指数增长,由题知:国民平均收入与按人口平均资金积累成正比,并设此比例系数为a。
(2)根据网上获得的数据,自2007年起,我国人口总数为1321851188,总资金积累量(国内生产总值)为246637亿元,人口增长率为1.07%,总资金(国内生产总值)增长率为11.5%。a的值约为1。
求解的Matlab程序代码:
先建立M文件fundPopulation.m如下示:
function dx=fundPopulation(t,x)
dx=zeros(3,1)
k=0.115r=0.0117a=1x(3)=a*x(1)/x(2)
dx(1)=k*x(1)dx(2)=r*x(2)dx(3)=a*(k-r)*x(3)
主程序weifengfangcheng.m 如下:
[t,x]=ode45('fundPopulation',[2007 2050],[246637 1321851188 18658.45])
figure(1),plot(t,x(:,1),'k*') %作出总资产积累量与时间的图像
xlabel('时间[年]'),ylabel('总资金积累[亿元]')
figure(2),plot(t,x(:,2),'m-') %作出人口数与时间的图像
hold on
xlabel('时间[年]'),ylabel('人口数')
figure(3),plot(t,x(:,3),'r+') %作出国民平均收入与时间的图像
hold on
xlabel('时间[年]'),ylabel('国民平均收入[亿元]')
三、实验结果分析
答: 1.运行结果:
2.由上面推理知:国民平均收入量满足指数增长,其增长率为(k-r),故仅当总资金积累的相对增长率k大于人口的相对率r时,国民平均收入才是增长的。
上图(1)是总资金积累量与时间的图像。
上图(2)是人口数与时间的关系。
上图(3)是国民平均收入与时间的关系。
所以综上,当人口激增时,在一定程度上,人口平均资金积累和国民平均收入都会减少,人们的生活水平将会下降。国家应该实施宏观调控来控制人口增长,以保证人们的生活水平进一步提高。
matlab建立m文件具体如下:
1、打开电脑上的“matlab”软件。
2、点击“新建”按钮,接着点击新建栏目下的“脚本”。
3、新建一个脚本文件,在新建的脚本里,输入代码。
4、此处绘制sinx的函数图像。
5、点击“保存”按钮,保存函数,下面输入函数文件名。
6、输入文件名后,点击下方的“保存”按钮,可以看到保存好的m文件。
MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。
软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)