#!/usr/bin/octave -q # $Id: app.sh 314274 2004-05-24 21:04:46Z geiseri $ # toe_kurs_11 - Copyright (C) 2006 hatred source("~/math/biblio.oct"); p("Исходные данные"); newline Em_mod = 7 fi_e = 120 f = 150 R1 = 1 R2 = 2 R3 = 3 L1 = 53*10^-5 L2 = 106*10^-5 L3 = 159*10^-5 C1 = 531*10^-6 C3 = 177*10^-6 section("Перевод напряжения в комплексную форму, расчет циклической частоты, расчет индуктивных и емкостных сопротивлений, перевод их в комплексную форму"); newline w = 2*pi*f Em = Em_mod * exp(j*fi_e*tr) E = Em_mod/sqrt(2) * exp(j*fi_e*tr) newline XL1 = w*L1 ZL1 = j*XL1 newline XL2 = w*L2 ZL2 = j*XL2 newline XL3 = w*L3 ZL3 = j*XL3 newline XC1 = 1/(w*C1) ZC1 = -j*XC1 newline XC3 = 1/(w*C3) ZC3 = -j*XC3 section("Расчет простейшей цепи"); subsection("Расчет сопротивлений ветвей и эквивалентного сопротивления всей цепи"); newline Z11 = (R1 * ZL1)/(R1 + ZL1);printc("Z11", Z11); Z12 = ZL1 + ZC1; printc("Z12", Z12); Z1 = Z11 + Z12; printc("Z1", Z1); newline Z21 = R2;printc("Z21", Z21); Z22 = ZL2;printc("Z22", Z22); Z2 = Z21 + Z22;printc("Z2", Z2); newline Z31 = (R3 * ZC3)/(R3 + ZC3);printc("Z31", Z31); Z32 = R3 + ZL3;printc("Z32", Z32); Z3 = Z31 + Z32;printc("Z3", Z3); newline Z23 = (Z2 * Z3)/(Z2 + Z3);printc("Z23", Z23); Z = Z1 + Z23;printc("Z", Z); subsection("Расчет действующих токов в ветвях"); newline I1 = E/Z;printc("I1", I1); U23 = I1 * Z23;printc("U23", U23); newline I2 = U23 / Z2;printc("I2", I2); I3 = U23 / Z3;printc("I3", I3); p("\nМгновенные токи"); newline printi("i1", I1, 1); printi("i2", I2, 1); printi("i3", I3, 1); #t=linspace(0, 4*pi/w, 1000); #i1 = sqrt(2) * abs(I1) * sin(w*t + arg(I1)); #i2 = sqrt(2) * abs(I2) * sin(w*t + arg(I2)); #i3 = sqrt(2) * abs(I3) * sin(w*t + arg(I3)); #mydraw_n([i1; i2; i3], t, ["i1";"i2";"i3"]); #exit(0); section("Проверка баланса мощности"); p("Сопряженный вектор тока"); newline I1s = conj(I1); printc("I1s", I1s); p("Мощность источника"); newline Su = E * I1s;printc("Su", Su); Pu = real(Su) Qu = imag(Su) p("Находим все токи в ветвях"); newline Uad = I1*Z11;printc("Uad", Uad); I11 = Uad / R1;printc("I11", I11); I12 = Uad / ZL1;printc("I12", I12); newline Ubn = I3*Z31;printc("Ubn", Ubn); I31 = Ubn / R3;printc("I31", I31); I32 = Ubn / ZC3;printc("I32", I32); newline p("Находим потребляемую мощность"); newline Pn = R1 * abs(I11)^2 + R2 * abs(I2)^2 + R3 * abs(I31)^2 + R3 * abs(I3)^2 Qn = XL1 * abs(I12)^2 + (XL1 - XC1)*abs(I1)^2 + XL2 * abs(I2)^2 - XC3 * abs(I32)^2 + XL3 * abs(I3)^2 sigma1 = abs(Pu - Pn)/abs(Pu)*100 sigma2 = abs(Qu - Qn)/abs(Qu)*100 section("Расчет всех токов и напряжений для построения вектрной диаграммы"); Unc = I3 * (R3 + ZL3), printc("Unc", Unc); Ubn = I31 * R3, printc("Ubn", Ubn); Ubc1 = Ubn + Unc, printc("Ubc1", Ubc1); Ufc = I2 * ZL2, printc("Ufc", Ufc); Ubf = I2 * R2, printc("Ubf", Ubf); Ubc2 = Ufc + Ubf, printc("Ubc2", Ubc2); Udb = I1 * (ZL1 + ZC1), printc("Udb", Udb); Uad = I11 * R1, printc("Uad", Uad); Uab = Udb + Uad, printc("Uab", Uab); Uac1 = Uab + Ubc1, printc("Uac1", Uac1); Uac2 = Uab + Ubc2, printc("Uac2", Uac2); Uac3 = E, printc("Uac3", Uac3); #draw_data = struct("offset", [ 0, 0, 0, 0, 0, 0, 0, 0, Unc, Unc+Ubn, Unc+Ubn+Udb, 0, 0, Ufc], # "arg", [I1, I11, I12, I2, I3, I31, I32, Unc, Ubn, Udb, Uad, E, Ufc, Ubf], # "label", ["I1"; "I11"; "I12"; "I2"; "I3"; "I31"; "I32"; "Unc"; "Ubn"; "Udb"; "Uad"; "E"; "Ufc"; "Ubf"]); #draw_vector(draw_data, "Vector");