数学建模案例分析--线性代数建模案例(20例)65959 联系客服

发布时间 : 星期六 文章数学建模案例分析--线性代数建模案例(20例)65959更新完毕开始阅读1b048631b968a98271fe910ef12d2af90342a865

案例十八. 简单的种群增长问题

【模型准备】经过统计, 某地区猫头鹰和森林鼠的数量具有如下规律: 如果没有森林鼠做食物, 每个月只有一半的猫头鹰可以存活, 如果没有猫头鹰作为捕食者, 老鼠的数量每个月会增加10%. 如果老鼠充足(数量为R), 则下个月猫头鹰的数量将会增加0.4R. 平均每个月每只猫头鹰的捕食会导致的104只老鼠的死亡数. 试确定该系统的演化情况.

【模型假设】不考虑其他因素对猫头鹰和森林鼠的数量的影响.

?O?【模型建立】设猫头鹰和森林鼠在时刻k的数量为xk =?k?, 其中k是以月份为单

?Rk?位的时间, Ok是研究区域中猫头鹰的数量, Rk是老鼠的数量(单位: 千只). 则

Ok+1 = 0.5Ok + 0.4Rk, Rk+1 = ?0.104Ok + 1.1Rk.

分析xk的变化趋势.

0.4??0.5【模型求解】令A =??, 则的特征值1 = 1.02, 2 = 0.58. 对应的特征

??0.1041.1?向量为

?10??5?v1 =??, v2 =??.

?13??1?初始向量x0可以写成x0 = c1v1 + c2v2. 于是, 对于k 0,

?10??5?xk = c1(1.02)kv1 + c2(0.58)kv2 = c1(1.02)k??+ c2(0.58)k??.

?13??1?当k 时, (0.58)k迅速的趋向于0. 假定c1 > 0, 则对于所有足够大的k, xk近似地等于c1(1.02)kv1, 写为

?10?xk c1(1.02)k??.

?13?k越大近似程度越高, 所以对于充分大的k,

10?k+1?xk+1 c1(1.02)??= 10.2 xk. () ?13?【模型分析】上面的()式表明, 最后猫头鹰和老鼠的数量几乎每个月都近似增加到原来的1.02倍, 即有2%的月增长率. 而且Ok 与Rk的比值约为10比13, 即每10只猫头鹰对应着约13000只老鼠.

参考文献

David C. Lay, 线性代数及其应用, 沈复兴, 傅莺莺等译, 北京: 人民邮电出版社, 2009. 页码: 305.

Matlab实验题

1. 假设在一个自然生态地区生长着一群鹿, 在一段时间内, 鹿群的增长受资源制约的因素较小. 假设:

(1) 公、母鹿占群体总数的比例大致相等, 所以仅考虑母鹿的增长情况; (2) 鹿群中母鹿的数量足够大, 因而可近似地用实数表示;

(3) 将母鹿分成两组: 一岁以下的称为幼鹿组, 其余的称为成年组;

(4) 将时间离散化, 每年观察一次, 分别用xk, yk表示第k年的幼鹿数及成年鹿数, 且假设各年的环境因素都是不变的;

(5) 分别用b1, b2表示两个年龄组鹿的雌性生育率, 用d1, d2表示其死亡率. 出生率、死亡率为常数, 记s1 = 1d1, s2 = 1d2;

(6) 鹿的数量不受自然资源的影响;

(7) 刚出生的幼鹿在哺乳期的存活率为s, 设t1 = sb1, t2 = sb2.

?xk?1??xk?根据以上假设, 求??与??之间的关系式, 并对下面一组数据进行实验:

y?k?1??yk?x0 = 实验者学号的后三位, y0 = 1000, t1 = 0.24, t2 = 1.2, s1 = 0.62, s2 = 0.75.

预测鹿群的增长趋势如何?

2. 斐波拉契(Fibonacci)兔子问题. 13世纪初, 欧洲数学家斐波拉契写了一本叫做《算盘书》的著作. 书中有许多有趣的数学题, 其中最有趣的是下面这个题目:

如果一对兔子每月能生1对小兔子, 而每对小兔在它出生后的第3个月里, 又能开始生1对小兔子, 假定在不发生死亡的情况下, 由1对初生的兔子开始, 1年后能繁殖成多少对兔子?

斐波拉契把推算得到的头几个数摆成一串: 1, 1, 2, 3, 5, 8, …

这串数里隐含着一个规律: 从第3个数起, 后面的每个数都是它前面那两个数的和. 而根据这个规律推算出来的数, 构成了数学史上一个有名的“斐波拉契数列”. 这个数列有许多奇特的的性质. 例如, 从第3个数起, 每个数与它后面那个数的比值, 都很接近于0.618, 正好与“黄金分割律”相吻合.

记斐波拉契数列为F1, F2, F3, F4, F5, … 先求矩阵A使得

?Fk?1??Fk?2??, ??= A?FF?k?1??k?再计算出斐波拉契数列的前20项, 并计算F3/F4, F4/F5, …, F19/F20.

案例十九. 一阶常系数线性齐次微分方程组的求解

【模型准备】一只虫子在平面直角坐标系内爬行. 开始时位于点P0(1, 0)处. 如果知道虫子在点P(x, y)处沿x轴正向的速率为4x 5y, 沿y轴正向的速率为2x 3y. 如何确定虫子爬行的轨迹的参数方程?

y

何去何从?

O

1

x

图31 虫子爬行的轨迹

【模型假设】设t时刻虫子所处位置的坐标为(x(t), y(t)). 【模型构成】由已知条件和上述假设可知

??dx??dt?4x?5y,y而且(x(0), y(0)) = (1, 0). ?d??dt?2x?3y,现要由此得出虫子爬行的轨迹的参数方程.

【模型求解】令A =??4?5??2?3??, 则|EA| =??45?2??3= (+1)(特征值为1 = 1, 2 = 2.

(EA)x = 0的一个基础解系为: 1 = (1, 1)T; (2EA)x = 0的一个基础解系为: 2 = (5, 2)T.

令P = (1, 2), 则P1AP =???10??02??. 记X =??x??y??, Y =??u??v??, 并且作线性变换X = PY, 则Y = P1X,

dYdX??10?dt= P1dt= P1AX = P1APY =??02??Y, 即

??dudt???10??u??dvdt??=??02????v??,

故u = c1et, v = c2e2t

, 即Y =??c1e?t??c2t?. 因而

2e???c1?c?= Y|t =01

? = PX|t =0 =?2???2/35/3???1/3?1/3???1???2/3??0??=??1/3??. 于是

2). 可见A的

?2?t??2?t??2?t52t??e?e?e?e??3??15??3??33Y =?, X = PY =?=?????. ?1212t122???e2t???e?t?e2t???e??????3??3??3??32?t52t?x??e?e,??33这就是说, 虫子爬行的轨迹的参数方程为?

?y??2e?t?2e2t.?33?如果在Matlab命令窗口输入以下命令

>>ezplot('-2/3*exp(-t)+5/3*exp(2*t)','-2/3*exp(-t)+2/3*exp(2*t)',[0,1]) >> grid on;

>> axis([0, 12, 0, 5]) Matlab执行后得

图32 Matlab绘制的虫子爬行轨迹

【模型分析】从图32可以看出虫子爬行的轨迹接近一条直线.

Matlab实验题

一只虫子在平面直角坐标系内爬行. 开始时位于点P0(0, 1)处. 如果知道虫子在点P(x, y)处沿x轴正向的速率为x + y, 沿y轴正向的速率为2x y. 求虫子爬行的轨迹的参数方程, 并绘制虫子爬行的轨迹.