kevinj0419

Plot array

Dec 10th, 2015
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 3.48 KB | None | 0 0
  1. clear;clc;
  2.  
  3. file='test';
  4. q=0.9;
  5. a=0.9;
  6. c0=0.1;
  7. c1=0.001;
  8. X=2^(1/2);
  9.  
  10. for i=1:1:101
  11.     for j=1:1:101
  12.        
  13.        b=0.01*i-0.01;
  14.        D=(j-1)/100;
  15.        
  16.         p1 = (q*(a + b))/2 - (q*(q*(a + b) - 2*c0))/(8*(q - c1));
  17.         p2 = q*(D + a) - (q*X*(q*(a + b) - 2*c0))/(8*(q - c1));
  18.         w1 = (q*(2*c0 + a*q + b*q - 2*c1*(a + b)))/(4*(q - c1));
  19.         w2f = -(q*(q*(a + b) - 2*c0 - 4*(q - c1)*(a + b)))/(8*(q - c1)) - (q*(q*(a + b) - 2*c0)^2)/(4*(q - c1)*(q*(a + b) - 2*c0 + 4*(q - c1)*(a - b + 2*D)));
  20.         w2a = q*(D + a) - (X*q*(q*(a + b) - 2*c0))/(4*(q - c1));
  21.         pmf = (q*(a + b))/2 - (q*(q*(a + b) - 2*c0 + 2*q*(q - b + 2*D)))/(8*(q - c1)) - (q^2*(q*(a + b)))/(8*(q - c1)^2);
  22.         pma = q*(b - D) + (q*(c0 - q*(b - D)))/(2*(q - c1)) - (X*q*c1*(q*(a + b) - 2*c0))/(8*(q - c1)^2);
  23.         c = c0 - c1*(a + b - 2*p1/q);
  24.         c2f = c0 - c1*(a + b - p1/q - pmf/q);
  25.         c2a = c0 - c1*(a + b - p2/q - pma/q);
  26.         Po1 = (q*(a + b) - 2*c0)^2/(16*(q - c1));
  27.        
  28.         if a - b > 0 & q - c1 > 0 & q*(a + b) - 2*c0 > 0 & w1 - c > 0 & p1 - w1 > 0 & a - p1/q > 0 & b - p1/q > 0
  29.             S1 = (q*(a + b) - 2*c0)^2/(16*(q - c1));
  30.         else
  31.             S1 = 0;
  32.         end
  33.        
  34.         if a - b > 0 & q - c1 > 0 & q*(a + b) - 2*c0 > 0 & w1 - c > 0 & p1 - w1 > 0 & a - p1/q > 0 & b - p1/q > 0 & w2f - c2f > 0 & pmf - c2f > 0 & a + D - p1/q > 0 & b - D - pmf/q > 0 & p1 - w2f > 0
  35.             F2 = Po1 + (q^2*(2*c0 + 4*D*c1 - 4*D*q + 2*a*c1 - 2*b*c1 - 3*a*q + b*q)^2)/(64*(q - c1)^3);
  36.         else
  37.             F2 = 0;
  38.         end
  39.        
  40.         if a - b > 0 & q - c1 > 0 & q*(a + b) - 2*c0 > 0 & w1 - c > 0 & p1 - w1 > 0 & a - p1/q > 0 & b - p1/q > 0 & w2a - c2a > 0 & pma - c2a > 0 & a + D - p2/q > 0 & b - D - pma/q > 0 & p2 - w2a > 0
  41.             A2 = - ((c0 + D*q - b*q)*(4*c0*c1 - 4*c0*q - 4*D*q^2 + 4*b*q^2 + 4*D*c1*q - 2*X*c0*c1 - 4*b*c1*q + X*a*c1*q + X*b*c1*q))/(16*(c1 - q)^2) - (X*((q^2*(4*b*c1 - 4*D*c1 - 8*c0 + X*a*c1 + X*b*c1) - 4*c0*c1^2 + 2*c1*q*(6*c0 + 2*D*c1 - X*c0 - 2*b*c1))/(8*(c1 - q)^2) + q*(D + a) + (X*q*(a*q - 2*c0 + b*q))/(4*(c1 - q)))*(a*q - 2*c0 + b*q))/(8*(c1 - q));
  42.         else
  43.             A2 = 0;
  44.         end
  45.        
  46.         Y = [S1 F2 A2];
  47.         Z = max(Y);
  48.         if Z == 0
  49.            
  50.             %             fprintf('%4.2f,%4.2f,N/A\n',b,D)
  51.             AA=[{'N/A'},NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,];
  52.               str = {'N/A'};
  53.         else
  54.             if Z == S1
  55.                 %                 fprintf('%4.2f,%4.2f,S1\n',b,D)
  56.                 AA=[{'S1'},p1,NaN,w1,NaN,NaN,NaN,NaN,c,NaN,NaN,S1,NaN,NaN];
  57.               str = {'S1'};
  58.             end
  59.             if Z == F2
  60.                 %                 fprintf('%4.2f,%4.2f,F2\n',b,D)
  61.                 AA=[{'F2'},p1,NaN,NaN,w2f,NaN,pmf,NaN,NaN,c2f,NaN,NaN,F2,NaN];
  62.                   str = {'F2'};
  63.             end
  64.             if Z == A2
  65.                 %                 fprintf('%4.2f,%4.2f,A2\n',b,D)
  66.                 AA=[{'A2'},NaN,p2,NaN,NaN,w2a,NaN,pma,NaN,NaN,c2a,NaN,NaN,A2];
  67.                 str = {'A2'};
  68.             end
  69.         end
  70.       matrix((i-1)*101+j,:)=[q,a,c0,c1,b,D,str,AA(2),AA(3),AA(4),AA(5),AA(6)...
  71.           ,AA(7),AA(8),AA(9),AA(10),AA(11),AA(12),AA(13),AA(14)];  
  72.  
  73.     end
  74. end
  75. title={'q','Alpha','c0','c1','Beta','Delta','Max','p1','p2','w1'...
  76.     ,'w2f','w2a','pmf','pma','c','c2f','c2a','S1','F2','A2'};
  77. sheet=1;
  78. xlRange = 'A2';
  79. xlswrite(file,title,sheet,'A1');
  80. xlswrite(file,matrix,sheet,xlRange);
Advertisement
Add Comment
Please, Sign In to add comment