potential/SelfAdaptSimulation.m

54 lines
1.9 KiB
Mathematica
Raw Normal View History

clc
clear
%% <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɷ<EFBFBD>
% [1]. <EFBFBD><EFBFBD>ΡΡ, <EFBFBD><EFBFBD>.A.<EFBFBD><EFBFBD>.A., һ<EFBFBD>ֽ<EFBFBD>׼ȷ<EFBFBD>ķ<EFBFBD><EFBFBD>ѵ<EFBFBD><EFBFBD>߱<EFBFBD><EFBFBD>ǿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 2006(04): <EFBFBD><EFBFBD>92-96ҳ.
% [2]. <EFBFBD><EFBFBD>ϰ<EFBFBD><EFBFBD>, <EFBFBD>ظ<EFBFBD>ѹֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>о<EFBFBD>, 2012, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>ѧ.
%%
%<EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
semi_lineDistance=20;%<EFBFBD><EFBFBD><EFBFBD>Ѽ<EFBFBD><EFBFBD><EFBFBD>
semi_lineCount=4;%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ConductorX=[-9,9];%<EFBFBD><EFBFBD><EFBFBD>߾<EFBFBD><EFBFBD>ظ߶<EFBFBD>
ConductorY=[14.5,14.5];%<EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD>
%%
%<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>ѹ
Volt=[500;500;500;500;-500;-500;-500;-500];
%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD>ѵ<EFBFBD><EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
%<EFBFBD>ü<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
arc=2*pi/semi_lineCount;
%<EFBFBD>ӵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵľ<EFBFBD><EFBFBD><EFBFBD>
R=semi_lineDistance/2/sin(arc/2);
%ÿ<EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><EFBFBD>ߵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
semi_linePos=ones(semi_lineCount,1);
for I=1:semi_lineCount
semi_linePos(I)=exp(1j*((I-1)*arc+arc/2))*R;%<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>תһ<EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD>
end
semi_lineAPos=semi_linePos+20+1j*10;
semi_lineBPos=semi_linePos-20+1j*10;
semi_linePos=[semi_lineAPos;semi_lineBPos];
%<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD>λ<EFBFBD><EFBFBD>
r1=2;
simulationChargePos=ones(semi_lineCount,1);
for I=1:semi_lineCount
simulationChargePos(I)=exp(1j*((I-1)*arc+arc/2))*(R+r1);%<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>תһ<EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD>
end
simulationChargeAPos=simulationChargePos+ConductorX(1)+1j*ConductorY(1);
simulationChargeBPos=simulationChargePos+ConductorX(2)+1j*ConductorY(2);
simulationChargePos=[simulationChargeAPos;simulationChargeBPos];
%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λϵ<EFBFBD><EFBFBD>
H=diag(imag(simulationChargePos));
r=0.03/2*eye(length(imag(simulationChargePos)));%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD>ξ<EFBFBD><EFBFBD><EFBFBD>
%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵľ<EFBFBD><EFBFBD><EFBFBD>
matSimulationChargePos=repmat(simulationChargePos,1,length(simulationChargePos));
conductor2conductorDistance=matSimulationChargePos-conj(matSimulationChargePos');
conductor2conductorDistance=abs(conductor2conductorDistance-diag(diag(conductor2conductorDistance)));
matMirrorChargePos=conj(matSimulationChargePos);%<EFBFBD>鲿ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
conductor2MirrorDistance=matSimulationChargePos-conj(matMirrorChargePos');
conductor2MirrorDistance=abs(conductor2MirrorDistance-diag(diag(conductor2MirrorDistance)));
eslong=1;
P1=1/pi/eslong*log(2*H./r);
P1(isnan(P1))=0;
P2=1/pi/eslong*log(conductor2MirrorDistance./conductor2conductorDistance);
P2(isnan(P2))=0;
P=P1+P2;
%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
QRI=P\Volt;