欢迎来到天天文库
浏览记录
ID:13350274
大小:92.00 KB
页数:3页
时间:2018-07-22
《实验13-人口迁徙问题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验13人口迁徙问题13.1实验指导本实验从人口迁移问题出发,讨论了方程组、矩阵乘法、特制值特征向量、及矩阵对角化问题。并利用MATLAB软件对线性代数理论进行了验证。表13.1给出了与本实验相关的MATLAB命令或函数。表13.1与本实验相关的MATLAB命令或函数命令功能说明位置symsn定义符号变量n例13.1lamda.^n群运算,对矩阵lamda中所有元素进行幂运算例13.113.2实验内容例13.1假设一个城市的总人口数是固定不变,但人口的分布情况变化如下:每年都有5%的市区居民搬到郊区;而有15%的郊区
2、居民搬到市区。若开始有700000人口居住在市区,300000人口居住在郊区。请利用MATLAB软件分析:(1)10年后市区和郊区的人口各是多少?(2)30年后、50年后市区和郊区的人口各是多少?(3)分析(2)中数据相似的原因。解:设第n年市区人数和郊区人数分别为:、,则第n+1年的市区和郊区人数为:。用矩阵表示为:,进一步写为:,矩阵,向量描述第n年该城市的市区和郊区人数。(1)根据,及开始市区和郊区的人口数,可以得到10年后市区和郊区的人口分布:,在MATLAB命令窗口中输入:A=[0.95,0.15;0.05
3、,0.85];X0=[700000;300000];X10=A^10*X0计算结果为:X10=1.0e+005*7.44632.5537可以知道,10年后市区和郊区人口数约为:744630和255370。(2)同理可以得到30年后和50年后的人口分布:和。在MATLAB命令窗口中输入:A=[0.95,0.15;0.05,0.85];X0=[700000;300000];X30=A^30*X0X50=A^50*X0计算结果为:X30=1.0e+005*7.49942.5006X50=1.0e+005*7.50002.5
4、000从计算结果可以看出30年后和50年后的市区和郊区人口分布非常接近。(3)若矩阵可以对角化,则可以利用矩阵对角化的方法来计算矩阵。设矩阵的特征值构成的对角矩阵为,则总存在可逆矩阵,使得:,则,其中矩阵为的特征值所对应的特征列向量所构成的矩阵。那么有:。可以利用MATLAB的符号运算来计算n年后该城市的人口分布情况。在MATLAB的M文件编辑器中编写程序la24.m:%分析n年后城市人口分布A=[0.95,0.15;0.05,0.85];X0=[700000;300000];[P,lamda]=eig(A);sym
5、sn%定义符号变量nXn=P*lamda.^n*inv(P)*X0%.^n群运算,对矩阵lamda中所有元素进行幂运算在MATLAB命令窗口输入:la24计算结果为:Xn=[750000-50000*(4/5)^n][250000+50000*(4/5)^n]从计算结果可以看出:当n越大,(4/5)^n就越近于零,则就趋近于,这就是为什么与接近的原因。13.3实验习题1、李博士培养了一罐细菌,在这个罐子里存放着A、B、C三类不同种类的细菌,最开始A、B、C三种细菌分别有、2×、3×个。但这些细菌每天都要发生类型转化,
6、转化情况如下:A类细菌一天后有5%的变为B类细菌、15%的变为C细菌;B类细菌一天后有30%的变为A类细菌、10%的变为C类细菌;C类细菌一天后有30%的变为A类细菌、20%的变为B类细菌。请利用MATLAB软件分析:(1)一周后李博士的A、B、C类细菌各有多少个?(2)两周后和三周后李博士的A、B、C类细菌各有多少个?(3)分析在若干周后,李博士的各种细菌的个数几乎不发生变化的原因。解:每天细菌的转化方程可写成其中T为转化矩阵。于是程序可写成:T=[0.8,0.15,0.05;0.3,0.6,0.1;0.3,0.2
7、,0.5],X0=[1;2;3]*10^8,X7=T^7*X0X14=T^14*X0程序运行结果为X7=1.0e+008*1.51211.52301.5247X14=1.0e+008*1.51661.51671.5167最后三种细菌趋向于数量相同。
此文档下载收益归作者所有