matlab实验,在一边长为1的正方形跑道的四个顶点上各站有1个人,在某一时刻,他们同时出发以速度v顺时针方向追赶下一个人,在追赶过程中,每个人时刻对准目标,试确定每个人的行进路线,计算每
来源:学生作业帮助网 编辑:六六作业网 时间:2025/02/03 06:08:59
matlab实验,在一边长为1的正方形跑道的四个顶点上各站有1个人,在某一时刻,他们同时出发以速度v顺时针方向追赶下一个人,在追赶过程中,每个人时刻对准目标,试确定每个人的行进路线,计算每
matlab实验,
在一边长为1的正方形跑道的四个顶点上各站有1个人,在某一时刻,他们同时出发以速度v顺时针方向追赶下一个人,在追赶过程中,每个人时刻对准目标,试确定每个人的行进路线,计算每个人跑过的路程和时间?要源程序!下午五点前要!
matlab实验,在一边长为1的正方形跑道的四个顶点上各站有1个人,在某一时刻,他们同时出发以速度v顺时针方向追赶下一个人,在追赶过程中,每个人时刻对准目标,试确定每个人的行进路线,计算每
function [a,b,c,d]=fun(v,t,h)
%a,b,c,d为四人的坐标位置
%v是每个人的速度
%t是追赶时间
%h为运行时间间隔
%初始化坐标
a=[0,0];
b=[0,1];
c=[1,1];
d=[1,0];
hold on;%保留轨迹
plot(a(1),a(2),'o');
plot(b(1),b(2),'o');
plot(c(1),c(2),'o');
plot(d(1),d(2),'o');
for t=0:h:t
a=a+dw(b-a)*v*h;
b=b+dw(c-b)*v*h;
c=c+dw(d-c)*v*h;
d=d+dw(a-d)*v*h;
plot(a(1),a(2),'o');plot(b(1),b(2),'o');plot(c(1),c(2),'o');plot(d(1),d(2),'o');
end
function m=dw(s)%标准化向量
x=sqrt(s(1)^2+s(2)^2);
m=s/x;
%%%%%%%%%%%%%%%%%%%%%%%%%
以上保存为fun.m
在命令窗口中输入:[a,b,c,d]=fun(0.01,10,0.01)
结果为:
a =
0.5002 0.5007
b =
0.5007 0.4998
c =
0.4997 0.4998
d =
0.5002 0.5007