You are on page 1of 7

>> xy=[12 20 ;0 20; 12 20; -6 24;6 24];

////
Ppt2

>> ab=[-10 20;0 20;10 20;-7 29;7 29];


>> datc=[15.19 0.0234 3 40 ];
>> datn=[4.75 3.75];
>> ro=100;
>> f=60;
>> zser
////
//****//

xy=[12 20 ;0 20; 12 20; -6 24;6 24];


function[dc]=dcon(xy)
[nf nc]=size(xy);
dc=diag(xy(:,2))
xycom=xy(:,1)+j*xy(:,2)
for i=1:nf-1
dc(i,i+1:nf)=abs(xycom(i)-xycom(i+1:nf))' ; % arriba de la
diagonal
dc(i+1:nf,i)=abs(xycom(i)-conj(xycom(i+1:nf))); % abajo de la diagonal
end
end

>> dcon(xy)
dc =
20 0 0 0 0
0 20 0 0 0
0 0 20 0 0
0 0 0 24 0
0 0 0 0 24
xycom =

12.0000 +20.0000i
0.0000 +20.0000i
12.0000 +20.0000i
-6.0000 +24.0000i
6.0000 +24.0000i
ans =

20.0000 12.0000 0 18.4391 7.2111


41.7612 20.0000 12.0000 7.2111 7.2111
40.0000 41.7612 20.0000 18.4391 7.2111
47.5395 44.4072 47.5395 24.0000 12.0000
44.4072 44.4072 44.4072 49.4773 24.0000
///////////////*/*********/*/*/**//

Ppt2

>> ab=[-10 20;0 20;10 20;-7 29;7 29];


>> datc=[15.19 0.0234 3 40 ];
>> datn=[4.75 3.75];
>> ro=100;
>> f=60;
>> zser
///*script
function [z012,zt,zabc,z]=zser(xy,datc,datn,ro,f)
%xy,datac,datn,ro,f
if nargin<5
f=50;
end

if nargin<4
ro=100;
end

radc=datc(1)/1000;
Rc=datc(2);

if ~isempty(datn)
radn=datn(1)/1000;
Rn=datn(2);
else
radn=0;
Rn=0;
end
if length(datc)==2
datc(3)=1;
end
ns=datc(3);
w=2*pi*f;
[nf nc]=size(xy);

if nf>6
ncon=6;
else
ncon=3;
end

ngu=nf-ncon;
dist=dcon(xy);
%**************
if ns >1 % En el caso de más de un subconductor se
calcula los
sep=datc(4)/100; % radios eqiuvalentes según el haz sea de 2,3
o 4
switch ns % subconductores.
case 2 % En sep tengo la separacion entre
subconductores pasada
radc=sqrt(radc*sep); % a metros.
case 3
radc=(radc*sep*sep)^(1/3);
case 4
radc=1.09*(radc*sep*sep*sep)^(1/4);
end
end

ro_com=sqrt(ro/(j*w*4*pi*1e-7));
Vecrad=[ones(1,ncon)*radc ones(1,ngu)*radn];
dz=[j*w*2e-4*log(2*(diag(dist)'+ro_com)./Vecrad)];
z=diag(dz);

for i=1:nf-1
for k=i+1:nf
X=abs(xy(i,1)-xy(k,1)); % Distancia
horizontal entre conductores
D=sqrt(X*X+(dist(i,i)+dist(k,k)+2*ro_com)^2); % Distancia entre
conductor i e imagen
z(i,k)=j*w*2e-4*log(D/dist(i,k)); % "compleja" de k.
z(k,i)=z(i,k);
end
end

if length(datc)==5, % Si considero
efecto skin para los conductores
z_int_con=skin(datc(1),datc(2),datc(5),f);
z_int_con=ones(ncon,1)*z_int_con/ns;
else
z_int_con=ones(ncon,1)*Rc/ns;
end
if length(datn)==3 % Si considero efecto
skin para hilos de guardia
z_int_gu=ones(ngu,1)*skin(datn(1),datn(2),datn(3),f);
else
z_int_gu=ones(ngu,1)*Rn;
end

z_int=[z_int_con;z_int_gu];

z=z+diag(z_int);

if ~isempty(datn) % Si hay hilo de guardia paso


a calcular z de fase
z00=z(1:ncon,1:ncon); % Se realiza la partición de z,
z0n=z(1:ncon,ncon+1:nf); % y se calcula zabc, matriz de
fase.
zn0=z(ncon+1:nf,1:ncon);
znn=z(ncon+1:nf,ncon+1:nf);
zabc=z00-z0n*inv(znn)*zn0;
else % Si no z de fase es el
propio z
zabc=z;
end

dzabc=diag(diag(zabc(1:3,1:3))); % Sentencias para calcular


la matriz
ozabc=zabc(1:3,1:3)-dzabc; % z con la línea
completamente traspuesta
zs=(sum(sum(dzabc)))/3; % Se calcula solo una terna
y se asume que de
zm=(sum(sum(ozabc)))/(3*3-3); % existir una seguna terna
esta es simetrica
ztaux=ones(3)*zm; % a la primera, por lo que
sus parametros son
zt=ztaux-diag(diag(ztaux)); % los mismos, asimismo se
asume que el acoplamiento
zt=zt+diag(ones(3,1)*zs);

a=exp(j*2*pi/3); % debil como para


desconsiderarlo.
A=[1 1 1;1 a*a a;1 a a*a];
z012=inv(A)*zt*A;
end

/////////////***************/////

You might also like