📄 testtarget.m
字号:
function [eval]=testtargetlloc(nind,chrom)
%xo=zeros(1000,1000) ;
%yo=zeros(1000,1000) ;
%eval=zeros(1000,1000) ;
r=[200 150];
g=[500 300];
p=[300 200;400 270;450 240];
m=20;
n=m;
jqr=1.6;
da=200;
db=0.3;
u=0;
v=0;
zag=3;
l=sqrt((g(1)-r(1))^2+(g(2)-r(2))^2);
dm=l/m;
dn=l/2/n;
a(1)=-l*(g(2)-r(2))/4/(sqrt((r(1)-g(1))^2+(g(2)-r(2))^2))+r(1);
a(2)=-l*(r(1)-g(1))/4/(sqrt((r(1)-g(1))^2+(g(2)-r(2))^2))+r(2);
b(1)=l*(g(2)-r(2))/4/(sqrt((r(1)-g(1))^2+(g(2)-r(2))^2))+r(1);
b(2)=l*(r(1)-g(1))/4/(sqrt((r(1)-g(1))^2+(g(2)-r(2))^2))+r(2);
c(1)=l*(g(2)-r(2))/4/(sqrt((r(1)-g(1))^2+(g(2)-r(2))^2))+g(1);
c(2)=l*(r(1)-g(1))/4/(sqrt((r(1)-g(1))^2+(g(2)-r(2))^2))+g(2);
d(1)=-l*(g(2)-r(2))/4/(sqrt((r(1)-g(1))^2+(g(2)-r(2))^2))+g(1);
d(2)=-l*(r(1)-g(1))/4/(sqrt((r(1)-g(1))^2+(g(2)-r(2))^2))+g(2);
x=[a(1) b(1) c(1) d(1) a(1)];%%%%%%%%%%%% x=[a(1) b(1) c(1) d(1) a(1)];
y=[a(2) b(2) c(2) d(2) a(2)];%%%%%%%%%%%%%%%%% y=[a(2) b(2) c(2) d(2) a(2)];
%axis([-10 40 -10 40]);
plot(x,y);
hold on;
for i=1:1:3,
plot(p(i,1),p(i,2),'square');%%%%%%%%%%%%%% rp
hold on;
end;
for w=1:nind
for i=1:(m-1)
A=r(2)*(g(2)-r(2))+r(1)*(g(1)-r(1))+dm*i*l;
B=-r(1)*(g(2)-r(2))+r(2)*(g(1)-r(1))+dn*l*chrom(w,i)-(l^2)/4;%%%%%%%%%%%%%%%%% chrom
xo(i,chrom(w,i))=(A*(g(1)-r(1))-B*(g(2)-r(2)))/(l^2);
yo(i,chrom(w,i))=(B*(g(1)-r(1))+A*(g(2)-r(2)))/(l^2);
xiaol=sqrt((g(1)-xo(i,chrom(w,i)))^2+(g(2)-yo(i,chrom(w,i)))^2);
dal=l-dm*i;
du=xiaol/dal;
u=u+du;
for k=1:zag
e=(xo(i,chrom(w,i))-p(k,1))^2+(yo(i,chrom(w,i))-p(k,2))^2-jqr^2;
if e>0
dv=0;
else dv=e^2;
end;
v=v+dv;
end;
end;
eval(w,1)=da*u+db*v;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -