function []=lab_5()
format short;
clc;
S = [
0.6-0.9i ;
0.8+0.3i ;
-1+0i ;
-0.1+0.7i ;
-0.9+1i ;
0 ];

U0 = 10;
U = [0;0;0;0;0;0];
Zv = [
0.8+1.6i ;
1+2i ;
0.2+0.4i ;
0.6+1.2i ;
0.8+1.6i ;
0.8+1.6i ;
0.4+0.8i ];
Yv = 1./Zv;

A = [
0 0 0 1 0 -1 0;
1 0 -1 0 0 0 0;
0 1 0 -1 0 0 0;
0 0 0 0 0 1 -1;
0 -1 1 0 -1 0 0;
0 0 0 0 1 0 0];

Y = A * diag (Yv) * A';
J = conj (S ./ U0 /sqrt(3));
len=size(U,1);
G=real(Y);
B=imag(Y);
P=real(S);
Q=imag(S);
W=Y*U-sqrt(3)*J;
Wre=real(W);
Wim=imag(W);
dWre_dUre=[];
dWre_dUim=[];
dWim_dUre=[];
dWim_dUim=[];
Ure=real(U);
Uim=imag(U);
U0re=real(U0);
U0im=imag(U0);

for i=1:100
for n=1:len
Wre(n,1) = sum ( G(n,:)*Ure) - sum (B(n,:)*Uim)-( P(n)*(Ure(n)+U0re)+Q(n)*(Uim(n)+U0im))/((Ure(n)+U0re)^2+(Uim(n)+U0im)^2);
Wim(n,1) = sum (B(n,:)*Ure)+sum(G(n,:)*Uim)-(P(n)*(Uim(n)+U0im)-Q(n)*(Ure(n)+U0re))/((Ure(n)+U0re)^2+(Uim(n)+U0im)^2);
end
dW_dU=zeros(2*len, 2*len);
for n=1:len
for m=1:len
dWre_dUre(n,m)=G(n,m)-P(n)/( (Ure(m)+U0re)^2+(Uim(m)+U0im)^2 );
dWre_dUim(n,m)=-B(n,m)-Q(n)/( (Ure(m)+U0re)^2+(Uim(m)+U0im)^2 );
dWim_dUre(n,m)=B(n,m)+Q(n)/( (Ure(m)+U0re)^2+(Uim(m)+U0im)^2 );
dWim_dUim(n,m)=G(n,m)-P(n)/( (Ure(m)+U0re)^2+(Uim(m)+U0im)^2 );
end
end
dW_dU = [dWre_dUre dWre_dUim;
dWim_dUre dWim_dUim];
disp('Определитель матрицы Якоби');
disp( det(dW_dU) )
V=[Ure;Uim] - inv(dW_dU)*[Wre; Wim];
Vre=V(1:len);
Vim=V(len+1 : 2*len);
Ure=Vre;
Uim=Vim;
end
U=Ure+1i*Uim;
Iv=A'*U.*Yv/sqrt(3);
disp('Расчёт методом Ньютона')
disp('Напряжения в узлах U, кВ')
disp('U=')
disp(abs(U+U0));
disp('токи в ветвях I, А')
abs(Iv*1000)
end
Соседние файлы в папке лаба 5