可以达到0.01%的精度

Signed-off-by: dmy@lab <dmy@lab.com>
This commit is contained in:
dmy@lab 2015-09-23 20:11:25 +08:00
parent 0bfd04b415
commit eea457bae4
1 changed files with 9 additions and 6 deletions

View File

@ -9,7 +9,7 @@ semi_lineDistance=257;%
semi_lineCount=4;%
ConductorX=[-14500,14500];%线
ConductorY=[16500,16500];%线
CSM_N=10;%线
CSM_N=80;%线
subconductorR=30;%线
%%
%
@ -22,9 +22,9 @@ CSM_arc=2*pi/CSM_N;
%线线
R=semi_lineDistance/2/sin(arc/2);
%
r1=2;
r1=20;
error=10000;
step=1/20;
step=1/10;
maxLoop=round((subconductorR-r1)/step);
for Loop=1:maxLoop;
simulationChargePos=ones(CSM_N,1);
@ -60,11 +60,11 @@ for Loop=1:maxLoop;
%
QRI=P\Volt;
%
if error<0.01
if error<0.0001
break;
end
%线
vrfRelA=linspace(0,2*pi)';%vrf=verify
vrfRelA=linspace(0,2*pi,200)';%vrf=verify
%线
vrfRelPos=exp(1j*vrfRelA)*subconductorR;
%使线线
@ -80,10 +80,13 @@ for Loop=1:maxLoop;
Pij=1/2/pi/eslong*log(vrf2MirrorDistance./vrf2ConductorDistance);
%
V=Pij*QRI;
error=sum(abs(V-500)./500)/length(V)
error=sum(abs(V-500)./500)/length(V);
r1=r1+step;
end
display('Finished.');
if Loop<maxLoop
display('Converged.');
end
display(Loop);
scatter(real(simulationChargeAPos),imag(simulationChargeAPos),[],'r');
hold on;