完成了迭代部分

Signed-off-by: dmy@lab <dmy@lab.com>
This commit is contained in:
dmy@lab 2015-09-19 15:22:49 +08:00
parent bff2235efe
commit 798c0e1142
1 changed files with 47 additions and 38 deletions

View File

@ -18,43 +18,52 @@ arc=2*pi/semi_lineCount;
%线线
R=semi_lineDistance/2/sin(arc/2);
%
r1=26;
simulationChargePos=ones(semi_lineCount,1);
for I=1:semi_lineCount
r1=0;
error=10000;
for I=1:100
simulationChargePos=ones(semi_lineCount,1);
for I=1:semi_lineCount
simulationChargePos(I)=exp(1j*((I-1)*arc+arc/2))*(R+r1);%
end
simulationChargeAPos=simulationChargePos+ConductorX(1)+1j*ConductorY(1);
simulationChargeBPos=simulationChargePos+ConductorX(2)+1j*ConductorY(2);
simulationChargePos=[simulationChargeAPos;simulationChargeBPos];
%
H=diag(imag(simulationChargePos));
r=100*eye(length(imag(simulationChargePos)));%线
%线线
matSimulationChargePos=repmat(simulationChargePos,1,length(simulationChargePos));
conductor2conductorDistance=matSimulationChargePos-conj(matSimulationChargePos');
conductor2conductorDistance=abs(conductor2conductorDistance-diag(diag(conductor2conductorDistance)));
matMirrorChargePos=conj(matSimulationChargePos);%
conductor2MirrorDistance=matSimulationChargePos-conj(matMirrorChargePos');
conductor2MirrorDistance=abs(conductor2MirrorDistance-diag(diag(conductor2MirrorDistance)));
eslong=8.854187817*10;
P1=1/2/pi/eslong*log(2*H./r);
P1(isnan(P1))=0;
P2=1/2/pi/eslong*log(conductor2MirrorDistance./conductor2conductorDistance);
P2(isnan(P2))=0;
P=P1+P2;
%
QRI=P\Volt;
%
if error<0.01
break;
end
%线
vrfRelA=[0.0;2*pi/6;2*pi/3;2*pi/1];%vrf=verify
%线
vrfRelPos=exp(1j*vrfRelA)*r(1);
%使线线
vrfPos=exp(1j*(0+arc/2))*R+ConductorX(1)+1j*ConductorY(1)+vrfRelPos;
%
matVrfPos=repmat(vrfPos,1,length(simulationChargePos));
vrf2ConductorDistance=abs(matVrfPos-repmat(conj(simulationChargePos'),length(vrfPos),1));
vrf2MirrorDistance=abs(matVrfPos-repmat(conj(conj(simulationChargePos')),length(vrfPos),1));
Pij=1/2/pi/eslong*log(vrf2MirrorDistance./vrf2ConductorDistance);
%
V=Pij*QRI;
error=sum(abs(V-500)./500);
r1=r1+r(1)/20;
end
simulationChargeAPos=simulationChargePos+ConductorX(1)+1j*ConductorY(1);
simulationChargeBPos=simulationChargePos+ConductorX(2)+1j*ConductorY(2);
simulationChargePos=[simulationChargeAPos;simulationChargeBPos];
%
H=diag(imag(simulationChargePos));
r=100*eye(length(imag(simulationChargePos)));%线
%线线
matSimulationChargePos=repmat(simulationChargePos,1,length(simulationChargePos));
conductor2conductorDistance=matSimulationChargePos-conj(matSimulationChargePos');
conductor2conductorDistance=abs(conductor2conductorDistance-diag(diag(conductor2conductorDistance)));
matMirrorChargePos=conj(matSimulationChargePos);%
conductor2MirrorDistance=matSimulationChargePos-conj(matMirrorChargePos');
conductor2MirrorDistance=abs(conductor2MirrorDistance-diag(diag(conductor2MirrorDistance)));
eslong=8.854187817*10;
P1=1/2/pi/eslong*log(2*H./r);
P1(isnan(P1))=0;
P2=1/2/pi/eslong*log(conductor2MirrorDistance./conductor2conductorDistance);
P2(isnan(P2))=0;
P=P1+P2;
%
QRI=P\Volt;
%
%线
vrfRelA=0.0;%vrf=verify
%线
vrfRelPos=exp(1j*vrfRelA)*r(1);
%使线线
vrfPos=exp(1j*(0+arc/2))*R+ConductorX(1)+1j*ConductorY(1)+vrfRelPos;
%
vrf2ConductorDistance=abs(vrfPos-simulationChargePos);
vrf2MirrorDistance=abs(vrfPos-conj(simulationChargePos));
Pij=1/2/pi/eslong*log(vrf2MirrorDistance./vrf2ConductorDistance);
%
V=Pij'*QRI;
% scatter(real([simulationChargeAPos;vrfPos]),imag([simulationChargeAPos;vrfPos]));