%% IT22a.m 
% Az IT22a hálózat megoldása (2022.03.09) 
% 
% Rt = 10 kOhm, n=4, I0 = 10 mA

% 1. Szimbolikus megoldas 
syms ua ub ia ib I0 u1 uv u4 Rt n
eq1 = -I0+u1/5+(u1-ua)/2 == 0;
eq2 = (ua-u1)/2+ua/4+ia+(ua-(uv+ub))/10 == 0;
eq3 = (uv+ub-ua)/10+ib+(uv+ub-u4)/7 == 0;
eq4 = (u4-(uv+ub))/7 + (u4-uv)/3 + (u4-uv)/Rt == 0;
eq5 = -ib+uv/0.5+(uv-(uv+ub))/3 + (uv-u4)/Rt == 0;
eq6 = ua == n*ub;
eq7 = ib == -n*ia;

sol = solve([eq1,eq2,eq3,eq4,eq5,eq6,eq7], [ua,ia,ub,ib,uv,u1,u4]);

uki = subs(sol.u4-sol.uv, {Rt, n, I0}, {10, 4, 10});
 
pretty(collect(simplify(uki),Rt)) 

%% 2. Numerikus megoldas - nem kell szimbolikusan 
%  Felhasznalom a szimbolikus megoldast 
[Asym, Bsym] = equationsToMatrix([eq1,eq2,eq3,eq4,eq5,eq6,eq7], [ua,ia,ub,ib,uv,u1,u4]);
A = double( subs(As,{Rt,n},{10,4}));
B = [1;0;0;0;0;0;0];
x = A\B*10;
ux = x(7)-x(5)

%% 3. Numerikus megoldas az egyenletrendszerrel 

