448 lines
No EOL
7.3 KiB
Matlab
448 lines
No EOL
7.3 KiB
Matlab
z1 = "C";
|
|
z2 = "H";
|
|
z3 = "H";
|
|
z4 = "C";
|
|
|
|
|
|
|
|
% ZADANIE 1
|
|
fprintf("priklad 1 [%s]\n",z1);
|
|
|
|
|
|
if strcmp(z1, 'A')
|
|
U1 = 80;
|
|
U2 = 120;
|
|
R1 = 350;
|
|
R2 = 650;
|
|
R3 = 410;
|
|
R4 = 130;
|
|
R5 = 360;
|
|
R6 = 750;
|
|
R7 = 310;
|
|
R8 = 190;
|
|
elseif strcmp(z1, 'B')
|
|
U1 = 95;
|
|
U2 = 115;
|
|
R1 = 650;
|
|
R2 = 730;
|
|
R3 = 340;
|
|
R4 = 330;
|
|
R5 = 410;
|
|
R6 = 830;
|
|
R7 = 340;
|
|
R8 = 220;
|
|
elseif strcmp(z1, 'C')
|
|
U1 = 100;
|
|
U2 = 80;
|
|
R1 = 450;
|
|
R2 = 810;
|
|
R3 = 190;
|
|
R4 = 220;
|
|
R5 = 220;
|
|
R6 = 720;
|
|
R7 = 260;
|
|
R8 = 180;
|
|
elseif strcmp(z1, 'D')
|
|
U1 = 105;
|
|
U2 = 85;
|
|
R1 = 420;
|
|
R2 = 980;
|
|
R3 = 330;
|
|
R4 = 280;
|
|
R5 = 310;
|
|
R6 = 710;
|
|
R7 = 240;
|
|
R8 = 200;
|
|
elseif strcmp(z1, 'E')
|
|
U1 = 115;
|
|
U2 = 55;
|
|
R1 = 485;
|
|
R2 = 660;
|
|
R3 = 100;
|
|
R4 = 340;
|
|
R5 = 575;
|
|
R6 = 815;
|
|
R7 = 255;
|
|
R8 = 225;
|
|
elseif strcmp(z1, 'F')
|
|
U1 = 125;
|
|
U2 = 65;
|
|
R1 = 510;
|
|
R2 = 500;
|
|
R3 = 550;
|
|
R4 = 250;
|
|
R5 = 300;
|
|
R6 = 800;
|
|
R7 = 330;
|
|
R8 = 250;
|
|
elseif strcmp(z1, 'G')
|
|
U1 = 130;
|
|
U2 = 60;
|
|
R1 = 380;
|
|
R2 = 420;
|
|
R3 = 330;
|
|
R4 = 440;
|
|
R5 = 450;
|
|
R6 = 650;
|
|
R7 = 410;
|
|
R8 = 275;
|
|
elseif strcmp(z1, 'H')
|
|
U1 = 135;
|
|
U2 = 80;
|
|
R1 = 680;
|
|
R2 = 600;
|
|
R3 = 260;
|
|
R4 = 310;
|
|
R5 = 575;
|
|
R6 = 870;
|
|
R7 = 355;
|
|
R8 = 265;
|
|
else
|
|
error('Invalid variation specified.');
|
|
end
|
|
|
|
R78 = R7 + R8;
|
|
R56 = (R5*R6)/(R5+R6);
|
|
fprintf('R56 = %.8f, R78 = %.8f\n\n', R56, R78);
|
|
|
|
RA = (R1*R2)/(R1+R2+R3);
|
|
RB = (R1*R3)/(R1+R2+R3);
|
|
RC = (R2*R3)/(R1+R2+R3);
|
|
fprintf('RA = %.8f, RC = %.8f\n\n', RA, RC);
|
|
RB56 = RB + R56;
|
|
RC4 = RC + R4;
|
|
fprintf('RB56 = %.8f\n', RB56);
|
|
fprintf('RC4 = %.8f\n', RC4);
|
|
|
|
|
|
RBC456 = (RB56*RC4)/(RB56+RC4);
|
|
fprintf('RCB56C4 = %.8f\n', RBC456);
|
|
|
|
R = RA + RBC456 + R78;
|
|
fprintf('R = %.8f\n',R);
|
|
|
|
I = (U1+U2)/R;
|
|
fprintf('I = %.8f\n',I);
|
|
|
|
URA = I * RA;
|
|
URBC456 = I * RBC456;
|
|
fprintf('URBC... = %.8f\n', URBC456);
|
|
IRB56 = URBC456/RB56;
|
|
fprintf('IRB56 = %.8f\n', IRB56);
|
|
|
|
IRC4 = URBC456/RC4;
|
|
fprintf('IRC4 = %.8f\n', IRC4);
|
|
URC = IRC4 * RC;
|
|
fprintf('URA = %.8f\n', URA);
|
|
|
|
UR2 = URA + URC;
|
|
|
|
IR2 = UR2/R2;
|
|
|
|
fprintf('UR2 = %.8fV, IR2 = %.8fA\n\n', UR2, IR2);
|
|
|
|
|
|
|
|
% ZADANIE 2
|
|
fprintf("priklad 2 [%s]\n",z2);
|
|
|
|
if strcmp(z2, 'A')
|
|
U = 50;
|
|
R1 = 100;
|
|
R2 = 525;
|
|
R3 = 620;
|
|
R4 = 210;
|
|
R5 = 530;
|
|
R6 = 50;
|
|
elseif strcmp(z2, 'B')
|
|
U = 100;
|
|
R1 = 50;
|
|
R2 = 310;
|
|
R3 = 610;
|
|
R4 = 220;
|
|
R5 = 570;
|
|
R6 = 100;
|
|
elseif strcmp(z2, 'C')
|
|
U = 200;
|
|
R1 = 70;
|
|
R2 = 220;
|
|
R3 = 630;
|
|
R4 = 240;
|
|
R5 = 450;
|
|
R6 = 200;
|
|
elseif strcmp(z2, 'D')
|
|
U = 150;
|
|
R1 = 200;
|
|
R2 = 200;
|
|
R3 = 660;
|
|
R4 = 200;
|
|
R5 = 550;
|
|
R6 = 150;
|
|
elseif strcmp(z2, 'E')
|
|
U = 250;
|
|
R1 = 150;
|
|
R2 = 335;
|
|
R3 = 625;
|
|
R4 = 245;
|
|
R5 = 600;
|
|
R6 = 300;
|
|
elseif strcmp(z2, 'F')
|
|
U = 130;
|
|
R1 = 180;
|
|
R2 = 350;
|
|
R3 = 600;
|
|
R4 = 195;
|
|
R5 = 650;
|
|
R6 = 80;
|
|
elseif strcmp(z2, 'G')
|
|
U = 180;
|
|
R1 = 250;
|
|
R2 = 315;
|
|
R3 = 615;
|
|
R4 = 180;
|
|
R5 = 460;
|
|
R6 = 120;
|
|
elseif strcmp(z2, 'H')
|
|
U = 220;
|
|
R1 = 190;
|
|
R2 = 360;
|
|
R3 = 580;
|
|
R4 = 205;
|
|
R5 = 560;
|
|
R6 = 250;
|
|
else
|
|
error('Invalid variation specified.');
|
|
end
|
|
|
|
Rekv = R1 + ((R2 + R3) * (R4 + R5))/(R2 + R3 + R4 + R5);
|
|
fprintf("Rekv=%.8f\n", Rekv);
|
|
I = U/Rekv;
|
|
fprintf("I=%.8f\n", I);
|
|
|
|
UR45 = U - I * R1;
|
|
IR45 = UR45/(R4 + R5);
|
|
fprintf("IR45=%.8f\n", IR45);
|
|
|
|
Ui = IR45 * R5;
|
|
|
|
Ri = (((((R3+R2)*R1)/(R1+R2+R3))+R4)*R5)/(((((R3+R2)*R1)/(R1+R2+R3))+R4)+R5);
|
|
|
|
IR6 = Ui/(Ri + R6);
|
|
UR6 = R6 * IR6;
|
|
|
|
fprintf('Ui = %.8fV, Ri=%.8fΩ, UR6 = %.8fV, IR6 = %.8fA\n\n',Ui,Ri, UR6, IR6);
|
|
|
|
% zadanie 3
|
|
fprintf("priklad 3 [%s]\n",z3);
|
|
|
|
if strcmp(z3, 'A')
|
|
U = 120;
|
|
I1 = 0.9;
|
|
I2 = 0.7;
|
|
R1 = 53;
|
|
R2 = 49;
|
|
R3 = 65;
|
|
R4 = 39;
|
|
R5 = 32;
|
|
elseif strcmp(z3, 'B')
|
|
U = 150;
|
|
I1 = 0.7;
|
|
I2 = 0.8;
|
|
R1 = 49;
|
|
R2 = 45;
|
|
R3 = 61;
|
|
R4 = 34;
|
|
R5 = 34;
|
|
elseif strcmp(z3, 'C')
|
|
U = 110;
|
|
I1 = 0.85;
|
|
I2 = 0.75;
|
|
R1 = 44;
|
|
R2 = 31;
|
|
R3 = 56;
|
|
R4 = 20;
|
|
R5 = 30;
|
|
elseif strcmp(z3, 'D')
|
|
U = 115;
|
|
I1 = 0.6;
|
|
I2 = 0.9;
|
|
R1 = 50;
|
|
R2 = 38;
|
|
R3 = 48;
|
|
R4 = 37;
|
|
R5 = 28;
|
|
elseif strcmp(z3, 'E')
|
|
U = 135;
|
|
I1 = 0.55;
|
|
I2 = 0.65;
|
|
R1 = 52;
|
|
R2 = 42;
|
|
R3 = 52;
|
|
R4 = 42;
|
|
R5 = 21;
|
|
elseif strcmp(z3, 'F')
|
|
U = 145;
|
|
I1 = 0.75;
|
|
I2 = 0.85;
|
|
R1 = 48;
|
|
R2 = 44;
|
|
R3 = 53;
|
|
R4 = 36;
|
|
R5 = 25;
|
|
elseif strcmp(z3, 'G')
|
|
U = 160;
|
|
I1 = 0.65;
|
|
I2 = 0.45;
|
|
R1 = 46;
|
|
R2 = 41;
|
|
R3 = 53;
|
|
R4 = 33;
|
|
R5 = 29;
|
|
elseif strcmp(z3, 'H')
|
|
U = 130;
|
|
I1 = 0.95;
|
|
I2 = 0.50;
|
|
R1 = 47;
|
|
R2 = 39;
|
|
R3 = 58;
|
|
R4 = 28;
|
|
R5 = 25;
|
|
else
|
|
error('Invalid variation specified.');
|
|
end
|
|
|
|
|
|
A = [(1/R1)+(1/R2) -(1/R2) 0;-(1/R2) (1/R2)+(1/R3) -(1/R3);(-1/R2) 1/R2 (1/R4)+(1/R5)];
|
|
disp(A)
|
|
I = [I1;I2;(U/R5)];
|
|
fprintf("I3=%.8fA\n", (U/R5));
|
|
U = inv(A) * I;
|
|
Ua = U(1);
|
|
Ub = U(2);
|
|
Uc = U(3);
|
|
UR4 = Uc;
|
|
IR4 = UR4/R4;
|
|
fprintf("Ua=%.8fV\n", Ua);
|
|
fprintf("Ub=%.8fV\n", Ub);
|
|
fprintf("Uc=%.8fV\n", Uc);
|
|
|
|
|
|
fprintf('UR4 = %.8fV, IR4 = %.8fA\n\n', UR4, IR4);
|
|
|
|
|
|
% pr4
|
|
fprintf("priklad 4 [%s]\n",z4);
|
|
|
|
if strcmp(z4, 'A')
|
|
u1 = 3;
|
|
u2 = 5;
|
|
R1 = 12;
|
|
R2 = 14;
|
|
L1 = 120 * 10^(-3);
|
|
L2 = 100 * 10^(-3);
|
|
C1 = 200 * 10^(-6);
|
|
C2 = 105 * 10^(-6);
|
|
f = 70;
|
|
elseif strcmp(z4, 'B')
|
|
u1 = 2;
|
|
u2 = 4;
|
|
R1 = 11;
|
|
R2 = 15;
|
|
L1 = 100 * 10^(-3);
|
|
L2 = 85 * 10^(-3);
|
|
C1 = 220 * 10^(-6);
|
|
C2 = 95 * 10^(-6);
|
|
f = 80;
|
|
elseif strcmp(z4, 'C')
|
|
u1 = 3;
|
|
u2 = 4;
|
|
R1 = 10;
|
|
R2 = 13;
|
|
L1 = 220 * 10^(-3);
|
|
L2 = 70 * 10^(-3);
|
|
C1 = 230 * 10^(-6);
|
|
C2 = 85 * 10^(-6);
|
|
f = 75;
|
|
elseif strcmp(z4, 'D')
|
|
u1 = 4;
|
|
u2 = 5;
|
|
R1 = 13;
|
|
R2 = 15;
|
|
L1 = 180 * 10^(-3);
|
|
L2 = 90 * 10^(-3);
|
|
C1 = 210 * 10^(-6);
|
|
C2 = 75 * 10^(-6);
|
|
f = 85;
|
|
elseif strcmp(z4, 'E')
|
|
u1 = 5;
|
|
u2 = 3;
|
|
R1 = 14;
|
|
R2 = 13;
|
|
L1 = 130 * 10^(-3);
|
|
L2 = 60 * 10^(-3);
|
|
C1 = 100 * 10^(-6);
|
|
C2 = 65 * 10^(-6);
|
|
f = 90;
|
|
elseif strcmp(z4, 'F')
|
|
u1 = 2;
|
|
u2 = 3;
|
|
R1 = 12;
|
|
R2 = 10;
|
|
L1 = 170 * 10^(-3);
|
|
L2 = 80 * 10^(-3);
|
|
C1 = 150 * 10^(-6);
|
|
C2 = 90 * 10^(-6);
|
|
f = 65;
|
|
elseif strcmp(z4, 'G')
|
|
u1 = 5;
|
|
u2 = 5;
|
|
R1 = 13;
|
|
R2 = 12;
|
|
L1 = 140 * 10^(-3);
|
|
L2 = 60 * 10^(-3);
|
|
C1 = 160 * 10^(-6);
|
|
C2 = 80 * 10^(-6);
|
|
f = 60;
|
|
elseif strcmp(z4, 'H')
|
|
u1 = 5;
|
|
u2 = 6;
|
|
R1 = 10;
|
|
R2 = 10;
|
|
L1 = 160 * 10^(-3);
|
|
L2 = 75 * 10^(-3);
|
|
C1 = 155 * 10^(-6);
|
|
C2 = 70 * 10^(-6);
|
|
f = 95;
|
|
else
|
|
error('Invalid variation specified.');
|
|
end
|
|
|
|
|
|
w = 2*pi*f;
|
|
ZL1 = 1j*w*L1;
|
|
ZL2 = 1j*w*L2;
|
|
ZC1 = -(1j/(w*C1));
|
|
ZC2 = -(1j/(w*C2));
|
|
fprintf("wL1=%.8f\n", w*L1);fprintf("wL1=%.8f\n", w*L2);
|
|
A = [R2+R1+ZC1+ZL1 -ZC1-R1 -R2;-R1-ZC1 ZC1+R1+ZL2 -ZL2;R2 ZL2 -ZL2-R2-ZC2];
|
|
|
|
U = [0;u1;u2];
|
|
|
|
P = inv(A) * U; % prudy
|
|
Ia = P(1);
|
|
Ib = P(2);
|
|
Ic = P(3);
|
|
fprintf("%.8f + j%.8f \n",real(Ia), imag(Ia) );
|
|
fprintf("%.8f + j%.8f \n",real(Ib), imag(Ib) );
|
|
fprintf("%.8f + j%.8f \n",real(Ic), imag(Ic) );
|
|
fprintf("%.8f + j%.8f \n",real(Ib-Ic), imag(Ib-Ic) );
|
|
|
|
ul2 = ZL2 *(Ib-Ic);
|
|
UL2 = abs(ul2);
|
|
fprintf("%.8f \n", imag(ul2)*imag(ul2) );
|
|
fprintf("%.8f \n", real(ul2)*real(ul2) );
|
|
|
|
theta = rad2deg(atan(imag(ul2)/real(ul2))) + "°";
|
|
fprintf("%.8f \n", atan(imag(ul2)/real(ul2)) );
|
|
|
|
fprintf("ul2 = %.8f + j%.8fV, UL2 = %.8fV, theta = %s\n\n",real(ul2),imag(ul2),UL2,theta); |