th1 = [378 378 378 378; 0.4 0.4 0.4 0.4; 310 316 329 411];
th2 = [378 378 378 378; 0.8 0.8 0.8 0.8; 190 208 230 298];
th3 = [398 398 398 398; 0.4 0.4 0.4 0.4; 108 123 166 200];
for j = 1:(numel(th1(i, :)))
a1_th1 = N*(1-(th1(i+2,j)/A*exp(-(phi/th1(i,j)+b/th1(i+1,j))))^B)*(log(th1(i+2,j)/A)-(phi/th1(i,j)+b/th1(i+1,j))) + a1_th1 ;
for j = 1:(numel(th2(i, :)))
a1_th2 = N*(1-(th2(i+2,j)/A*exp(-(phi/th2(i,j)+b/th2(i+1,j))))^B)*(log(th2(i+2,j)/A)-(phi/th2(i,j)+b/th2(i+1,j))) + a1_th2 ;
for j = 1:(numel(th3(i, :)))
a1_th3 = N*(1-(th3(i+2,j)/A*exp(-(phi/th3(i,j)+b/th3(i+1,j))))^B)*(log(th3(i+2,j)/A)-(phi/th3(i,j)+b/th3(i+1,j))) + a1_th3 ;
a1 = a1_th1 + a1_th2 + a1_th3;
N = numel(th1(1,:)) + numel(th2(1,:)) + numel(th3(1,:));
for j = 1:(numel(th1(i, :)))
b1 = N*(th1(i+2,j)/A*exp(-(phi/th1(i,j)+b/th1(i+1,j))))^B+b1;
for j = 1:(numel(th2(i, :)))
b2 = N*(th2(i+2,j)/A*exp(-(phi/th2(i,j)+b/th2(i+1,j))))^B+b2;
for j = 1:(numel(th3(i, :)))
b3 = N*(th3(i+2,j)/A*exp(-(phi/th3(i,j)+b/th3(i+1,j))))^B+b3;
N = numel(th1(1,:)) + numel(th2(1,:)) + numel(th3(1,:));
two = -B/A*(N + (b1 + b2 + b3));
for j = 1:(numel(th1(i, :)))
c1 = N/th1(i,j)*(th1(i+2,j)/A*exp(-(phi/th1(i,j)+b/th1(i+1,j))))^B+c1;
for j = 1:(numel(th2(i, :)))
c2 = N/th2(i,j)*(th2(i+2,j)/A*exp(-(phi/th2(i,j)+b/th2(i+1,j))))^B+c2;
for j = 1:(numel(th3(i, :)))
c3 = N/th3(i,j)*(th3(i+2,j)/A*exp(-(phi/th3(i,j)+b/th3(i+1,j))))^B+c3;
for j = 1:(numel(th1(i, :)))
N_c1 = numel(th1(i,j))/th1(i,j)+N_c1;
for j = 1:(numel(th2(i, :)))
N_c2 = numel(th2(i,j))/th2(i,j)+N_c2;
for j = 1:(numel(th3(i, :)))
N_c3 = numel(th3(i,j))/th3(i,j)+N_c3;
N_c = N_c1 + N_c2 + N_c3;
three = -B*(N_c - (c1 + c2 + c3));
for j = 1:(numel(th1(i, :)))
d1 = N/th1(i+1,j)*(th1(i+2,j)/A*exp(-(phi/th1(i,j)+b/th1(i+1,j))))^B+d1;
for j = 1:(numel(th2(i, :)))
d2 = N/th2(i+1,j)*(th2(i+2,j)/A*exp(-(phi/th2(i,j)+b/th2(i+1,j))))^B+d2;
for j = 1:(numel(th3(i, :)))
d3 = N/th3(i+1,j)*(th3(i+2,j)/A*exp(-(phi/th3(i,j)+b/th3(i+1,j))))^B+d3;
for j = 1:(numel(th1(i, :)))
N_d1 = numel(th1(i,j))/th1(i+1,j)+N_d1;
for j = 1:(numel(th2(i, :)))
N_d2 = numel(th2(i,j))/th2(i+1,j)+N_d2;
for j = 1:(numel(th3(i, :)))
N_d3 = numel(th3(i,j))/th3(i+1,j)+N_d3;
N_d = N_d1 + N_d2 + N_d3;
four = -B*(N_d - (d1 + d2 + d3));
[B, A, phi, b] = solve(one,two,three,four,'Real',true)