数学建模案例分析--线性代数建模案例(20例) 下载本文

内容发布更新时间 : 2024/5/21 22:29:22星期一 下面是文章的全部内容请认真阅读。

(屏幕制造商需要调整矩阵元素一适应其RGB屏幕.) 求将电视台发送的数据转换

成电视机屏幕所要求数据的方程.

案例十五. 人员流动问题

【模型准备】某试验性生产线每年一月份进行熟练工与非熟练工的人数统计, 然后1将熟练工支援其他生产部门, 其缺额由招收新的非熟练工补齐. 新、老非熟练工经62过培训及实践至年终考核有成为熟练工. 假设第一年一月份统计的熟练工和非熟

5练工各占一半, 求以后每年一月份统计的熟练工和非熟练工所占百分比.

【模型建立】设第n年一月份统计的熟练工和非熟练工所占百分比分别为xn和yn, 记

?xn??x1??1/2?成向量??. 因为第一年统计的熟练工和非熟练工各占一半, 所以??=??. 为yy1/2??1???n?了求以后每年一月份统计的熟练工和非熟练工所占百分比, 先求从第二年起每年一月份统计的熟练工和非熟练工所占百分比与上一年度统计的百分比之间的关系, 即?xn?1??xn??xn?1?求??y??与??y??的关系式, 然后再根据这个关系式求??y??. ?n?1??n??n?1?【模型求解】根据已知条件可得:

12192xn+1 = (1?)xn +(xn + yn) =xn +yn,

6565102113yn+1 = (1?)(xn + yn) =xn +yn,

56510即

?xn?1??9/102/5??xn???. ???y??=???1/103/5??yn??n?1???9/102/5?令A =??, 则

?1/103/5??xn?1??xn?2?xn?1?n?x1?????= A= A= … = A????. ?y??y??y1??n?1??n??yn?1?92??10?5|?E ? A| == (? ? 1)(? ?12), 31?10??5由此可得A的两个特征值?1 = 1, ?2 = 1/2.

解(E ? A)x = 0得对应于?1 = 1的一个特征向量?1 = (4, 1)T,

T

解(12E ? A)x = 0得对应于?2 = 1/2的一个特征向量?2 = (?1, 1).

?4?1??10?令P =?, 则P?1AP = ? =?, A = P?P?1, An = (P?P?1)n = P?nP?1, ???11??01/2?111?xn?1?n?x1?n?1?x1??4?1??10??55??2????01???14??1? ?y??= A?y?= P?P?y?=?11??2n??55??2??1??1???n?1? 24

4?3?2?n?11?3?2?n?1T= (, ).

55注: 也可以在Matlab命令窗口输入以下命令

>> A = [9/10,2/5;1/10,3/5]; format rat >> [P,D] = eig(A) Matlab执行后得

P =

2112/2177 -985/1393 528/2177 985/1393 D =

1 0 0 1/2

?xn?1?n?1?x1??为了进一步计算?, 即P?P??, 在Matlab命令窗口输入以下命令 ?y??y1??n?1?>> syms n %定义符号变量

>> P*[1,0;0,1/2^n]*P^(-1)*[1/2;1/2] Matlab执行后得 ans =

[ 4/5-3/10/(2^n)] [ 1/5+3/10/(2^n)]

4?3?2?n?141?3?2?n?11【模型分析】当n ? ?时, ?, ?. 这意味着, 随着n增

5555加, 熟练工和非熟练工所占百分比趋于稳定, 分别趋向于80%和20%.

Matlab实验题

某地区甲、乙两公司经营同一业务. 经验表明甲公司的客户每年有1/3继续留作甲的客户, 而2/3转作乙的客户; 乙的客户有3/5转作甲的客户, 而2/5继续留作乙的客户, 假定客户的总量不变.

(1)假定起始年甲、乙两公司拥有的客户份额分别为2/3和1/3, 求一年后客户市场分配情况;

(2)试确定起始年客户份额, 使甲、乙两公司在一年后市场份额不变.

案例十六. 金融公司支付基金的流动

【模型准备】金融机构为保证现金充分支付, 设立一笔总额5400万的基金, 分开放置在位于A城和B城的两家公司, 基金在平时可以使用, 但每周末结算时必须确保总额仍然为5400万. 经过相当长的一段时期的现金流动, 发现每过一周, 各公司的支付基金在流通过程中多数还留在自己的公司内, 而A城公司有10%支付基金流动到B城公司, B城公司则有12%支付基金流动到A城公司. 起初A城公司基金为2600万, B城公司基金为2800万. 按此规律, 两公司支付基金数额变化趋势如何? 如果金

25

融专家认为每个公司的支付基金不能少于2200万, 那么是否需要在必要时调动基金?

【模型建立】设第k+1周末结算时, A城公司B城公司的支付基金数分别为ak+1, bk+1 (单位:万元), 则有a0=2600, b0=2800,

?ak?1?0.9ak?0.12bk. ??bk?1?0.1ak?0.88bk原问题转化为:

(1) 把ak+1, bk+1表示成k的函数, 并确定limak和limbk .

k???k???(2) 看limak和limbk 是否小于2200.

k???k????a?0.9ak?0.12bk【模型求解】由?k?1可得

b?0.1a?0.88bkk?k?1?ak?1??0.90.12??ak??0.90.12?2?ak?1??0.90.12?k?1?a0???=??= … = ????=??????.

?0.10.88??b0??bk?1??0.10.88??bk??0.10.88??bk?1??ak?1??0.90.12?k+1?a0?k+1?2600?k+1?2600?令A =?, 则= A= A. 为了计算A, 在??????????0.10.88??2800??2800??bk?1??b0?Matlab命令窗口输入以下命令 >> A = [0.9,0.12;0.1,0.88];

>> [P,D] = eig(A) Matlab执行后得 P =

0.7682 -0.7071 0.6402 0.7071 D =

1.0000 0 0 0.7800

?10?这意味着P?1AP = D =??, 于是有 00.78??A = PDP?1,

0??1?1Ak+1 = PDk+1P?1= P?k?1?P, 00.78???ak?1?0??1?2600??1k+1?2600?= A= P???00.78k?1?P????. b28002800???????k?1?在Matlab命令窗口输入以下命令

>> syms k %定义符号变量

>> P*[1,0;0,0.78^(k+1)]*P^(-1)*[2600;2800]

26

Matlab执行后得

ans =

[ 32400/11-3800/11*(39/50)^(k+1)] [ 27000/11+3800/11*(39/50)^(k+1)]

?324003800???ak?1??1111这就是说, ?=??bk?1???27000?3800?1111????, 其中39< 1. k?1?50?39??????50??3240027000可见{ ak }单调递增, { bk }单调递减, 而且limak =,limbk =.

k???11k???113240027000而? 2945.5, ? 2454.5, 两者都大于2200, 所以不需要调动基金.

1111?39????50?Matlab实验题

请同学们注意, 本题中的参数a是你的学号后三位, b = 2a. 例如, 你的学号后三位是216, 则取a = 216, b = 432.

金融机构为保证现金充分支付, 设立一笔基金, 分开放置在位于A城和B城的两家公司, 基金在平时可以使用, 但每周末结算时必须确保总额不变. 经过相当长的一段时期的现金流动, 发现每过一周, 各公司的支付基金在流通过程中多数还留在自己的公司内, 而A城公司有10%支付基金流动到B城公司, B城公司则有12%支付基金流动到A城公司. 起初A城公司基金为a万元, B城公司基金为b万元. 按此规律, 两公司支付基金数额变化趋势如何?

k?1案例十七. 选举问题

【模型准备】设有A, B, C三个政党参加每次的选举, 每次参加投票的选民人数保持不变. 通常情况下, 由于社会、经济、各党的政治主张等多种因素的影响, 原来投某党票的选民可能改投其他政党.

【模型假设】 (1) 参与投票的选民不变, 而且没有弃权票.

(2) 每次投A党票的选民, 下次投票时, 分别有r1, r2, r3比例的选民投A, B, C政党的票; 每次投B党票的选民, 下次投票时, 分别有s1, s2, s3比例的选民投A, B, C各政党的票; 每次投C党票的选民, 下次投票时, 分别有t1, t2, t3比例的选民投A, B, C各政党的票.

(3) xk, yk, zk表示第k次选举时分别投A, B, C各党的选民人数. 【模型建立】根据假设可得

?xk?1?r1xk?s1yk?t1zk??yk?1?r2xk?s2yk?t2zk ?z?rx?sy?tz?k?13k3k3k其中r1 + r2 + r3 = 1, s1 + s2 + s3 = 1, t1 + t2 + t3 = 1.

27