function []=lab_6()

clear;clc;clf;

%исходные данные не меняются
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';

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


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

%константы
%сопротивления ветвей необходимо разделить на активное сопротивление
%и индуктивность для записи уравнений
R = real(Zv);
L = imag(Zv)/314.15;

%далее делаем n_max шагов метода Эйлера
%на каждом шаге решаем систему диф. ур, предварительно записав
for n = 0:n_max

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

%аварийное возмущение в момент времени 1 сек
if (h*n>1)
Iv(1)=0;
end

%дальше записывается система уравнений, которая состоит из
%линейных ур-й + дифур

%матрица коэффициентов этих уравнений
W = [
A' -diag(L) ;
zeros(size(A,1)) A ];

%матрица свободных членов
V = [
Iv.*R;
J];

%делаем расчет по методу Гаусса
X = inv(W)*V;

%выделение только нужных переменных из вектора результатов X
dI_dt = X(length(U)+1:length(X));

%промежуточное сохранение для вывода на график
Jv(:,n+1) = abs(Iv);

%метод Эйлера
Iv = Iv + h * dI_dt;
end

disp('Напряжения в конце расчёта:')
disp(abs(U+U0))
%вывод на график токов в ветвях
plot( ...
[0:h:t],Jv(1,:),'r',...
[0:h:t],Jv(2,:),'g',...
[0:h:t],Jv(3,:),'b',...
[0:h:t],Jv(4,:),'k',...
[0:h:t],Jv(5,:),'r--',...
[0:h:t],Jv(6,:),'g--',...
[0:h:t],Jv(7,:),'b--');

end

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