Você está na página 1de 4

Analiza circuitelor de curent alternativ

Main:
clear all
clc
N=4;
L=6;
f=50;
ni=[1 1 4 2 3 2];
nf=[4 4 3 1 2 3];
v=zeros(1,L);
tip=['L' 'R' 'C' 'L' 'R' 'L'];
e=[30 0 0 0 20/sqrt(2) 0];
fii=[0 0 0 0 pi/2 0];
p=[2/(100*pi) 3 1/(100*pi) 3/(100*pi) 4 1/(400*pi)];
[Z,E]=Transf(N,L,f,tip,p,e,fii);
v=Nodal_cx(N,L,ni,nf,Z,E)
Postproccx(L,ni,nf,Z,E,v)

Transformarea in complex (construirea matricei impedantelor complexe si a


matricei tensiunilor electromotoare complexe)
function [Z,E]=Transf(N,L,f,tip,p,e,fii)
w=2*pi*f;
Z=zeros(1,L);
E=zeros(1,L);
%tip=['L' 'R' 'C' 'L' 'R' 'L' ];
for k=1:L
if(tip(k)=='L')
Z(k)=complex(0,w*p(k));
else
if(tip(k)=='C')
Z(k)=complex(0,-1/(w*p(k)));
else

Z(k)=complex(p(k),0);

end

Determinarea potentialelor nodurilor cu metoda Gauss fara pivotare


function [v]=Nodal_cx(N,L,ni,nf,Z,E)
is=zeros(1,L);
Y=zeros(N,N);
for k=1:L
n1=ni(k);
n2=nf(k);
Y(n1,n1)=Y(n1,n1)+1/Z(k);
Y(n2,n2)=Y(n2,n2)+1/Z(k);
Y(n1,n2)=Y(n1,n2)-1/Z(k);
Y(n2,n1)=Y(n2,n1)-1/Z(k);

is(n1)=is(n1)-E(k)/Z(k);
is(n2)=is(n2)+E(k)/Z(k);
end
v=Gauss_fp(N-1,Y(1:N-1,1:N-1),is(1:N-1));
v(N)=0;
end

Metoda Gauss fara pivotare


function [x]=Gauss_fp(n,a,b)
for k=1:n-1
for i=k+1:n
p=a(i,k)/a(k,k);
for j=k+1:n
a(i,j)=a(i,j)-a(k,j)*p;
end
b(i)=b(i)-p*b(k);
end
end
x(n)=b(n)/a(n,n);
for i=n-1:-1:1
s=b(i);
for j=n:-1:i+1
s=s-a(i,j)*x(j);
end
x(i)=s/a(i,i);
end
end

Postprocesarea(calcularea tensiunii si a curentului pe fiecare latura, precum si


puterea generata si cea consumata)
function Postproccx(L,ni,nf,Z,E,v)
Sg=complex(0,0);
Sc=complex(0,0);
for k=1:L
U=v(ni(k))-v(nf(k));
I=(U+E(k))/Z(k);
Sg=Sg+E(k)*conj(I);
Sc=Sc+Z(k)*abs(I)^2;
fprintf('Pentru latura %d, u=, i=\n',k);
disp([U,I]);
end
%real(Sg)
%real(Sc)
%imag(Sg)
%imag(Sc)
disp([Sc Sg]);
end

Pentru valorile din main s-au obtinut valorile din urmatoarea captura de ecran:

Se observa ca puterea generata este egala cu puterea consumata, ceea ce


inseamna ca procedura a fost dusa la capat cu succes.

In cazul in care modificam valorile din main:

clear all
clc
N=4;
L=6;
f=50;
ni=[1 1 4 2 3 2];
nf=[4 4 3 1 2 3];
v=zeros(1,L);
tip=['L' 'R' 'C' 'L' 'R' 'L'];
e=[30 15 7 9 20/sqrt(2) 0];
fii=[pi/4 0 pi 0 pi/2 0];
p=[2/(100*pi) 3 1/(100*pi) 3/(100*pi) 50 1/(400*pi)];
[Z,E]=Transf(N,L,f,tip,p,e,fii);
v=Nodal_cx(N,L,ni,nf,Z,E)
Postproccx(L,ni,nf,Z,E,v)

Rezultatele sunt urmatoarele:

Você também pode gostar