网站大量收购独家精品文档,联系QQ:2885784924

8实验 人口迁移的动态分析.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

PAGE

PAGE173

实验八 人口迁移的动态分析

— 实验目的

针对人口迁移问题,建立以每单位时间为阶段的常系数线性系统动态变化模型.使用Mathematica4.0作矩阵运算,并由模型讨论该过程的极限状态是否有稳定解,用于分析、预报、决策和控制该过程.通过讨论状态方程解的稳定性,加深对矩阵特征值、特征向量的理解.

二 实验原理

把形如

u ?Au

k?1 k

的矩阵方程称作常差分方程组或状态方程,这里u

k

是列向量,A是矩阵.形式上,它是容

易解的,因为每一次迭代都用A去乘.于是得到解为

u ?Aku

k 0

u是初始条件,A称作一步状态转移矩阵.问题在于寻求某种快速计算幂Ak的方法,解

0

决的关键是A的特征值和特征向量.

根据线性代数的知识,n阶方阵A与对角阵?相似(即A可对角化)的充要条件是A有n个线性无关的特征向量.设A可以对角化,则存在可逆阵S和对角阵?,使得

A?S?S?1

这里S?(x,x

1 2

, ,x

?n

?

),??diag(?

1

,?, ,?

?2 n

?

),x

i

是对应A的特征值?

i

的特征向量

(1≤i≤n).

将上述结果用于u

k

?Aku

?0

?

,则自然有

u ?Aku

k 0

?(S?S?1)(S?S?1) (S?S?1)u

0

?S?kS?1u

0

(1)

从而由矩阵乘法得出

u ?(x, ,x

k 1 n

)diag(?k, ,?k)S?1u

1 n 0

?c?kx

11 1

?c

?kx

n n n

(2)

由此,可以看出一般解是特解的一个线性组合,其中组合系数由初始条件决定:

c?0x ???c?0x ?u,或S(c,?,c)T?u,或(c,?,c)T?S?1u

11 1 n n n 0 1 n 0 1 n 0

从(2)中可以看出它与微分方程某些相近的地方,这将为我们下面要讨论的状态方程解的

稳定性带来方便.

一般地,我们有如下结论:常系数线性系统u

k?1

?Au

k

(A可对角化),当它的所有

特征值?

?1时,它是完全稳定的,即u

i k

?0(k→∞),这保证了初始条件的微小变

化所造成的影响会随着k的增加而趋于零;当所有?

i

?1时,它是中性稳定的,即u

有界;

k

当至少有一个特征值?

i

?1时,它是不稳定的,即u

k

是无界的,也就是说稳定性依赖于A

的特征值.这些由公式(2)很容易得到.

三 学习Mathematica命令

方阵的幂MatrixPower

求方阵的幂An的命令的形式为

MatrixPower[A,n]

其中n为整数,当n??1时即求逆.例如:输入

aa={{1,0,0},{1,1,0},{0,1,1}};

aa={{1,0,0},{1,1,0},{0,1,1}};

MatrixPower[aa,5]

输出为

{{1,0,0},{5,1,0},{10,5,1}}

如果输入

MatrixPower[aa,-1]

MatrixPower[aa,-1]

则得到逆阵

{{1,0,0},{-1,1,0},{1,-1,1}}

还有一个求逆阵的命令,输入

aa1=Inverse[aa]

aa1=Inverse[aa]

同样得到逆阵

{{1,0,0},{-1,1,0},{1,-1,1}}.

不过,如果求逆阵的幂,则用前一个命令较好.只须输入

MatrixPower[aa,-5]

MatrixPower[aa,-5]

得到输出

{{1,0,0},{-5,1,0},{15,-5,1}}

Do型循环结构

Do型循环结构根据循环描述先计算循环次数,再作循环体,常用于有确定循环次数的循环结构.Do语句的一般形式为

Do[循环体,{循环范围}].

它有下列形式:

Do[表达式,{k}] (计算表达式k次.)

Do[表达式,{i,imax}] (计算表达式imax次,其中i的值从1变到imax,每次步长为1.)

Do[表达式,{i,imin,imax}] (当 i 的值从 imin 变到 imax、步长为1,每次都计算表达式.)

Do[表达式,{i,imin,imax,increment}]

文档评论(0)

tianya189 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档