资源描述
(完整版)战争模型
实 验 报 告
实验课程名称 数学模型
实验项目名称 战争模型的分析
年 级 2013级
专 业 信息与计算科学
学生姓名 杨宏钞
学 号 1307010352
理 学 院
实 验 时 间: 2016 年 4月 12日
学生实验室守则
一、按教学安排准时到实验室上实验课,不得迟到、早退和旷课.
二、进入实验室必须遵守实验室的各项规章制度,保持室内安静、整洁,不准在室内打闹、喧哗、吸烟、吃食物、随地吐痰、乱扔杂物,不准做与实验内容无关的事,非实验用品一律不准带进实验室。
三、实验前必须做好预习(或按要求写好预习报告),未做预习者不准参加实验。
四、实验必须服从教师的安排和指导,认真按规程操作,未经教师允许不得擅自动用仪器设备,特别是与本实验无关的仪器设备和设施,如擅自动用或违反操作规程造成损坏,应按规定赔偿,严重者给予纪律处分。
五、实验中要节约水、电、气及其它消耗材料。
六、细心观察、如实记录实验现象和结果,不得抄袭或随意更改原始记录和数据,不得擅离操作岗位和干扰他人实验。
七、使用易燃、易爆、腐蚀性、有毒有害物品或接触带电设备进行实验,应特别注意规范操作,注意防护;若发生意外,要保持冷静,并及时向指导教师和管理人员报告,不得自行处理.仪器设备发生故障和损坏,应立即停止实验,并主动向指导教师报告,不得自行拆卸查看和拼装。
八、实验完毕,应清理好实验仪器设备并放回原位,清扫好实验现场,经指导教师检查认可并将实验记录交指导教师检查签字后方可离去。
九、无故不参加实验者,应写出检查,提出申请并缴纳相应的实验费及材料消耗费,经批准后,方可补做。
十、自选实验,应事先预约,拟订出实验方案,经实验室主任同意后,在指导教师或实验技术人员的指导下进行。
十一、实验室内一切物品未经允许严禁带出室外,确需带出,必须经过批准并办理手续。
学生所在学院: 理学院 专业:信息与计算科学 班级:信计131
姓 名
杨宏钞
学 号
1307010352
实验组
实验三
实验时间
2016。4.12
指导教师
杨辉
成 绩
实验项目名称
战争模型
实验目的:
1. 简单的分析战争中的实际问题.
2. 混合战争下的双方的结局。
3. 分析在有援兵的情形下的战争结局情况。
实验平台:计算机,MATLAB 2015a
实验内容及源代码:
1. 正规战争模型,即假设双方都没有增援兵力。
clear
clc;
syms t;
%解x,y对于t的方程,x为甲方部队,y为乙方部队,x(0)为甲方部队初始人数,y(0)为乙方部队初始人数
[x,y]=dsolve(’Dx=-0。02*x-1。6*y’,’Dy=-2.4*x—0。01*y','x(0)=600,y(0)=800’,'t');
x=simplify(x); % 将x,y化简
y=simplify(y);
for t1=0:0。005:2 %动态显示出函数关系,t1为作战时长
fx=subs(x,t,t1); %解出函数x与y对应时间的函数值
fy=subs(y,t,t1);
if fx〈=0 || fy<=0 %终止条件,当有一方人数小于等于0时,程序终止
break;
end
%plot(t1,fx,t1,fy,'r')
axis([0 600 0 800]); %固定坐标轴大小
xlabel(’甲方部队’);
ylabel(’乙方部队');
plot(fx,fy,'r*')
pause(0。01); %每一步的暂停时长
hold on;
end
运行结果如图所示:
2. 假设双方都有援兵,且假设乙的援兵比甲的快,战斗时间足够长,双方兵力一样
function dy=zz(t,y)
%y(1)为甲方部队
%y(2)为乙方部队
dy=zeros(2,1);
dy(1)=-0。02*y(1)-1。5*y(2)+100*t;
dy(2)=-2.0*y(1)—0。01*y(2)+480*t;
%dy(1)=-0.002*y(1)*y(2);
%dy(2)=—10*y(1);
End
clear;
clc;
t=0:0。01:40; %t为作战时长
%求解zz函数数值解,第二项参数为作战时长,第三项为[甲方部队人数 乙方部队人数]
[t,y]=ode45(@zz,t,[800 800]);
tt=size(t);
%plot(t,y(:,1),t,y(:,2),’r’)
for k=1:tt(1) %动态演示
if y(k,1)〈=0 || y(k,2)〈=0 %终止条件,当有一方人数小于等于0时,程序终止
break;
end
axis([0 800 0 800]); %固定坐标轴大小
plot(y(k,1),y(k,2),’r*’)
hold on;
pause(0.01) %每一步的暂停时长
end
运行结果如图:
2.将乙的援兵速度减小:
function dy=zz(t,y)%y(1)为甲方部队,%y(2)为乙方部队
dy=zeros(2,1);
dy(1)=—0.02*y(1)—1。5*y(2)+100*t;
dy(2)=-2。0*y(1)—0.01*y(2)+480*t;
%dy(1)=-0.002*y(1)*y(2);
%dy(2)=-10*y(1);
End
运行结果如图:
3. 游击战争模型:,甲方为游记部队,乙方为正规部队,假设在没有增援的情况下,甲方的火力比乙方若,为乙方的一半,但活动范围为甲方的100倍。乙方兵力为甲方10倍
function dy=zz(t,y)
%y(1)为甲方部队
%y(2)为乙方部队
dy=zeros(2,1);
%dy(1)=—0.02*y(1)—1.5*y(2)+100*t;
%dy(2)=-2.0*y(1)—0.01*y(2)+470*t;
dy(1)=-0.002*y(1)*y(2);
dy(2)=—10*y(1);
end
clear;
clc;
t=0:0。01:40; %t为作战时长
%求解zz函数数值解,第二项参数为作战时长,第三项为[甲方部队人数 乙方部队人数]
[t,y]=ode45(@zz,t,[80 800]);
tt=size(t);
%plot(t,y(:,1),t,y(:,2),’r’)
for k=1:tt(1) %动态演示
if y(k,1)〈=0 || y(k,2)<=0 %终止条件,当有一方人数小于等于0时,程序终止
break;
end
axis([0 80 0 800]); %固定坐标轴大小
plot(y(k,1),y(k,2),’r*')
hold on;
pause(0。01) %每一步的暂停时长
end
结果如图所示:
实验结果与讨论:
经过我们上述的分析,在正规战争中,在甲与乙兵力相同的情形下,若甲方的战斗力比乙方强10倍,则乙方会输掉战争,但如果乙方的增援足够比甲快的多,乙方便会胜利。但在游击战中,虽然游击部队火力较弱,但活动范围比较大,对方想取胜就必须更多的兵力,然而战争打的是消耗,这样投入更多的兵力在有时候是得不偿失的,如越南战争最后美国不得不撤军。
指导教师意见:
签名: 年 月 日
8
展开阅读全文