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)