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);