Advertisement
Guest User

Untitled

a guest
Feb 6th, 2016
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. % price cap
  2. xi = 0.3;
  3.  
  4. % LMSR
  5. beta = 1;
  6. q = 10*ones(1,5);
  7. i = 1;
  8. qj = [q(1:i-1) q(i+1:end)];
  9. n = -q(i) + log(xi*sum(exp(beta*qj))/(1 - xi)) / beta
  10. q(i) = q(i) + n;
  11. p_lmsr = exp(beta*q) / sum(exp(beta*q))
  12.  
  13. % LS-LMSR
  14. clear n
  15. a = 0.0079;
  16. q = 10*ones(1,5);
  17. i = 1;
  18. qj = [q(1:i-1) q(i+1:end)];
  19. F = @(n) a*log(exp((q(i) + n)/a/(n + sum(q))) + sum(exp(qj/a/(n + sum(q))))) + ...
  20. (exp((q(i) + n)/a/(n + sum(q)))*sum(qj) - sum(qj.*exp(qj/a/(n + sum(q))))) / ...
  21. ((n + sum(q))*(exp((q(i) + n)/a/(n + sum(q))) + sum(exp(qj/a/(n + sum(q)))))) - xi;
  22. options = optimset('Display', 'iter');
  23. n0 = fsolve(F, 0.05, options)
  24. q(i) = q(i) + n0;
  25. b = a*sum(q);
  26. p_lslmsr = a*log(sum(exp(q/b))) + ...
  27. (exp(q/b)*sum(q) - sum(q.*exp(q/b))) / sum(q) / sum(exp(q/b))
  28.  
  29. % plot solution
  30. numPts = 1000;
  31. x = linspace(n0 - 5, n0 + 5, numPts);
  32. y = zeros(1, numPts);
  33. for ii = 1:numPts
  34. y(ii) = F(x(ii));
  35. end
  36. plot(x, zeros(size(x)), 'r--', x, y, 'LineWidth', 2);
  37. xlabel('n');
  38. ylabel('F(n)');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement