function []=lab_6()

clc
    %исходные данные не меняются
    S = [
     0.6-0.9i   ;
     0.8+0.3i   ;
     -1+0i      ;
     -0.1+0.7i  ;
     -0.9+1i    ;
     0  ];

    U0 = 10      ;
    deltaU  = [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';

    %конец исходных данных


    %параметры расчета
    %здесь попробовать разный шаг от 0.0001 до 1 и разное время расчета
    h = 0.001;          %шаг расчета
    t = 2;              %время расчета
    n_max = ceil(t/h);  %кол-во шагов расчета

    %далее делаем n_max шагов методом обратной матрицы
    for n = 0:n_max

        %начальные условия
        %это будет вектор токов Iv
        %начальным условием будет режим, который считали в предыдущих лабах    
        J = conj ( S ./ (deltaU+U0) /sqrt(3) ); %правая часть МУН    
        deltaU = sqrt(3) * inv(Y) * J;
        Iv = A' * deltaU .* Yv /sqrt(3); 

        %аварийное возмущение в момент времени 1 сек
        if (h*n>1)
            Yv(1)=0;
            Zv=1./Yv;
            Y = A * diag (Yv) * A';
            deltaU = sqrt(3) * inv(Y) * J;
            Iv = A' * deltaU .* Yv /sqrt(3);
        end
         %промежуточное сохранение для вывода на график
         Jv(:,n+1) = abs(Iv);
    end
    disp('Напряжения в конце расчёта:');
    disp(abs(deltaU+U0));
    disp('Токи в ветвях:');
    disp(abs(Iv*1000));
    %вывод на график токов в ветвях
    plot( ...
            [0:h:t],Jv(1,:)*1000,'r',...
            [0:h:t],Jv(2,:)*1000,'g',...
            [0:h:t],Jv(3,:)*1000,'b',...
            [0:h:t],Jv(4,:)*1000,'k',...
            [0:h:t],Jv(5,:)*1000,'r--',...
            [0:h:t],Jv(6,:)*1000,'g--',...
            [0:h:t],Jv(7,:)*1000,'b--');
xlabel('t, c');
ylabel('I_{v}, А');
legend('I_{v1}', 'I_{v2}', 'I_{v3}', 'I_{v4}', 'I_{v5}', 'I_{v6}', 'I_{v7}');
legend('FontSize', 12, 'Location','nw');
        
end

  %В отчёте показать графики для шага расчёта h=1; 0.1; 0.01; 0.001
  %Для каждого шага h подобрать оптимальное время расчёта t для лучшей наглядности
  %В выводе написать на что влияет шаг расчёта h и как от него зависит точность расчёта? Как отключение линии влияет на напряжения в узлах?
  %Отчёт по этой лабораторной выложить до 17:00 12.11.2021 в группу в Тимс Путь:Файлы/Гр.90201/Л.Р. №6
  %Отчёты по остальным лабораторным выкладываем в соответствующую папку в Тимс Путь:Файлы/Гр.90201/
Соседние файлы в папке лаба 6