Advertisement
Guest User

Untitled

a guest
Dec 15th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.91 KB | None | 0 0
  1. clear;
  2. clf;
  3. d1=31; d2=22;
  4. % Code from the exercise description
  5. %%
  6. n=8;
  7. dummystep=31*d1+d2;
  8. rng('default');
  9. for i=1:dummystep
  10. dummy=rand;
  11. end
  12. Corr=zeros(n,n);
  13. for i=1:n
  14. for j=1:n
  15. Corr(i,j)=(-1)^abs(i-j)/(abs(i-j)+1);
  16. end
  17. end
  18. sigma=zeros(n,1);
  19. mu=zeros(n,1);
  20. sigma(1)=2;
  21. mu(1)=3;
  22. for i=1:n-1
  23. sigma(i+1)=sigma(i)+2*rand;
  24. mu(i+1)=mu(i)+1;
  25. end
  26. D=diag(sigma);
  27. C2=D*Corr*D;
  28. C=0.5*(C2+C2');
  29. %%
  30. % End of code from the exercise description
  31. % Exercise 1
  32. mux1 = [];
  33. sigmax1 = [];
  34. for r = (3:0.25:9)
  35.     Ain = [];
  36.     bin = [];
  37.     Aeq = [mu'; ones(1, n)];
  38.     beq = [r 1]';
  39.     f = [];
  40.     lb = zeros(8, 1);
  41.     X = quadprog(C, f, Ain, bin, Aeq, beq, lb, []);
  42.     mux1 = [mux1 mu'*X];
  43.     sigmax1 = [sigmax1 sqrt(X'*C*X)];
  44. end
  45. % Exercise 2
  46. mux2 = [];
  47. sigmax2 = [];
  48. for r = (3:0.25:9)
  49.     Ain = ones(1, n);
  50.     bin = 1;
  51.     Aeq = mu';
  52.     beq = r;
  53.     f = [];
  54.     lb = zeros(8, 1);
  55.     X = quadprog(C, f, Ain, bin, Aeq, beq, lb, []);
  56.     mux2 = [mux2 mu'*X];
  57.     sigmax2 = [sigmax2 sqrt(X'*C*X)];
  58.     disp(sum(X))
  59. end
  60. figure(1);
  61. hold on
  62. plot(sigmax1, mux1);
  63. plot(sigmax2, mux2);
  64. title('Exercise 1 & 2');
  65. legend('1', '2')
  66. % Exercise 3
  67. mux3 = [];
  68. sigmax3 = [];
  69. for r = (3:0.25:9)
  70.     Ain = -1*mu';
  71.     bin = -r;
  72.     Aeq = ones(1, n);
  73.     beq = 1;
  74.     f = [];
  75.     lb = zeros(8, 1);
  76.     X = quadprog(C, f, Ain, bin, Aeq, beq, lb, []);
  77.     mux3 = [mux3 mu'*X];
  78.     sigmax3 = [sigmax3 sqrt(X'*C*X)];
  79. end
  80. figure(2);
  81. plot(sigmax1, mux1);
  82. plot(sigmax3, mux3);
  83. legend('1', '3')
  84. title('Exercise 1 & 3');
  85. % Exercise 4
  86. mux4 = [];
  87. sigmax4 = [];
  88. for r = (3:0.25:9)
  89.     Ain = [];
  90.     bin = [];
  91.     Aeq = [mu'; ones(1, n)];
  92.     beq = [r 1]';
  93.     f = [];
  94.     lb = [];
  95.     X = quadprog(C, f, Ain, bin, Aeq, beq, lb, []);
  96.     mux4 = [mux4 mu'*X];
  97.     sigmax4 = [sigmax4 sqrt(X'*C*X)];
  98. end
  99. figure(3);
  100. hold on
  101. plot(sigmax1, mux1);
  102. plot(sigmax4, mux4);
  103. legend('1', '4')
  104. title('Exercise 4');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement