show_two.m

来自「多智能体工具包」· M 代码 · 共 109 行

M
109
字号
% SHOW_TWO	Compare the results between two experiments.%     Copyright (c) 1997-2000 Jiming Liu and Jianbing Wuclose all;clear all;%FLname1='f1_2';FLname2='f1_2f2_2f6_4';%FLname1='f2_1';FLname1='f6_2';Max_Age=101;           Loop_Inc=5;Robot_Num=3;eval(['load ' FLname1 ';']);    % load the DATAForce_Object1=[];Force_Direct1=[];Dist_GoalObject1=[];Stand_Dist1=[];Robot_Step1=[];for mm=1:Max_Age   Object_Config=New_History(mm*Loop_Inc,4:5);  Goal_Config=New_History((mm-1)*Loop_Inc+1,4:5);  Diff_Config=Object_Config-Goal_Config;  dist_GO_now=sqrt(Diff_Config(1)^2+Diff_Config(2)^2);  Dist_GoalObject1=[Dist_GoalObject1 dist_GO_now];  Begin_Row=(mm-1)*Loop_Inc+2;  End_Row=Begin_Row+Robot_Num-1;  Robot_Config=New_History(Begin_Row:End_Row,4:5);  [Sum_Force,Force_Direction,Force_Vector]=calcuforce(...               Robot_Config,Object_Config,Robot_Num);  Force_Object1=[Force_Object1 Sum_Force];  Force_Direct1=[Force_Direct1 Force_Direction];  if mm>1    Last_Object=New_History((mm-1)*Loop_Inc,4:5);    Object_Diff=Last_Object-Object_Config;    Step_Now=sqrt(Object_Diff(1)^2+Object_Diff(2)^2);  end  Robot_Step1=[Robot_Step1 Step_Now];  Total_Dist=0;  for mm=1:Robot_Num    Diff_Now=Robot_Config(mm,:)-Object_Config;    Total_Dist=Total_Dist+sqrt(Diff_Now(1)^2+Diff_Now(2)^2)/Robot_Num;  end  Stand_Dist1=[Stand_Dist1 Total_Dist];  endeval(['load ' FLname2 ';']);    % load the DATAForce_Object2=[];Force_Direct2=[];Dist_GoalObject2=[];Stand_Dist2=[];Robot_Step2=[];for mm=1:Max_Age            Object_Config=New_History(mm*Loop_Inc,4:5);  Goal_Config=New_History((mm-1)*Loop_Inc+1,4:5);  Diff_Config=Object_Config-Goal_Config;  dist_GO_now=sqrt(Diff_Config(1)^2+Diff_Config(2)^2);  Dist_GoalObject2=[Dist_GoalObject2 dist_GO_now];  Begin_Row=(mm-1)*Loop_Inc+2;  End_Row=Begin_Row+Robot_Num-1;  Robot_Config=New_History(Begin_Row:End_Row,4:5);  [Sum_Force,Force_Direction,Force_Vector]=calcuforce(...               Robot_Config,Object_Config,Robot_Num);  Force_Object2=[Force_Object2 Sum_Force];  Force_Direct2=[Force_Direct2 Force_Direction];  if mm>1    Last_Object=New_History((mm-1)*Loop_Inc,4:5);    Object_Diff=Last_Object-Object_Config;    Step_Now=sqrt(Object_Diff(1)^2+Object_Diff(2)^2);  end  Robot_Step2=[Robot_Step2 Step_Now];  Total_Dist=0;  for mm=1:Robot_Num    Diff_Now=Robot_Config(mm,:)-Object_Config;    Total_Dist=Total_Dist+sqrt(Diff_Now(1)^2+Diff_Now(2)^2)/Robot_Num;  end  Stand_Dist2=[Stand_Dist2 Total_Dist];endxx=0:100;yy=1:100;%plot(xx,Force_Object1);plot(xx,Dist_GoalObject1);%plot(xx,Stand_Dist1);hold on;%plot(xx,Force_Object2,'r:');plot(xx,Dist_GoalObject2,'r:');%plot(xx,Stand_Dist2,'r:');%ylabel('SUM(F)');ylabel('Distance between Goal & Object');%ylabel('Aver. Distance of Robts to Object');xlabel('t');

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?