请帮忙做下这个matlab解线性代数的题10000人的A军和8000人的B军相遇,现设A军的杀伤力是0.1/天,B军的杀伤力是0.12/天,战斗3天后,A军中有500名军人被俘投降,战斗6天后,B军获得1500个军人的增援,请预

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/27 21:59:43
请帮忙做下这个matlab解线性代数的题10000人的A军和8000人的B军相遇,现设A军的杀伤力是0.1/天,B军的杀伤力是0.12/天,战斗3天后,A军中有500名军人被俘投降,战斗6天后,B军获得1500个军人的增援,请预

请帮忙做下这个matlab解线性代数的题10000人的A军和8000人的B军相遇,现设A军的杀伤力是0.1/天,B军的杀伤力是0.12/天,战斗3天后,A军中有500名军人被俘投降,战斗6天后,B军获得1500个军人的增援,请预
请帮忙做下这个matlab解线性代数的题
10000人的A军和8000人的B军相遇,现设A军的杀伤力是0.1/天,B军的杀伤力是0.12/天,战斗3天后,A军中有500名军人被俘投降,战斗6天后,B军获得1500个军人的增援,请预测和模拟这场战斗的过程和结果.
这里有一个例题,请对照做解 最好能在周二内完成,快者追加分数

请帮忙做下这个matlab解线性代数的题10000人的A军和8000人的B军相遇,现设A军的杀伤力是0.1/天,B军的杀伤力是0.12/天,战斗3天后,A军中有500名军人被俘投降,战斗6天后,B军获得1500个军人的增援,请预
A=[1 -0.12;-0.1 1]; %声明A系数矩阵
X=[10000;8000]; %初始化X
Y=X; %又用X来初始化Y
k=0;%%%引入新的循环计数变量
while X(1)>0&X(2)>0 %开始while循环,X(i)为访问X矩阵的位序元素,这里为一逻辑
%表达式,只要红军和蓝军还有士兵,战斗就得进行下去,只要一方
%没有士兵了,战斗就结束,循环也就终止了
X=A*X; %交锋过程模拟
k=k+1;%%%循环次数累加
if k==3
X=X-[500;0]; %%%战斗3天后,A军中有500名军人被俘投降
end
if k==6
X=X+[0;1500];%%%6天后,B军获得1500个军人的增援
end
Y=[Y X]; %交锋后的结果不断写入到矩阵Y中记录下来
end %循环结束
Y %输出Y
No=1:k+1; %%%战斗天数
YY=[No',floor(Y')] %%%结果
%%%双方战斗人员数量图,
plot(1:k+1,Y(1,:),'ro-',1:k+1,Y(2,:),'b*-')
xlabel('战斗天数'),ylabel('人员变动数量')
运行结果:
战斗天数 红军人数 蓝军人数
1 10000 8000
2 9040 7000
3 8200 6096
4 6968 5276
5 6335 4579
6 5785 3945
7 5312 4867
8 4728 4335
9 4208 3862
10 3744 3442
11 3331 3067
12 2963 2734
13 2635 2438
14 2342 2174
15 2081 1940
16 1848 1732
17 1640 1547
18 1455 1383
19 1289 1237
20 1140 1108
21 1007 994
22 888 894
23 780 805
24 684 727
25 597 658
26 517 599
27 446 547
28 380 502
29 320 464
30 264 432
31 212 406
32 163 384
33 117 368
34 73 356
35 30 349
36 -12 346