当前位置:首页 > 数学建模案例分析--线性代数建模案例(20例)65959
案例十八. 简单的种群增长问题
【模型准备】经过统计, 某地区猫头鹰和森林鼠的数量具有如下规律: 如果没有森林鼠做食物, 每个月只有一半的猫头鹰可以存活, 如果没有猫头鹰作为捕食者, 老鼠的数量每个月会增加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. 求虫子爬行的轨迹的参数方程, 并绘制虫子爬行的轨迹.
共分享92篇相关文档