Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.03 KB | None | 0 0
  1. Subscript[[Epsilon], 0] = 0.1;
  2. Subscript[[Epsilon], 1] = 0.1;
  3. [Alpha] = 0.5;
  4. u = 0.5;
  5. f0[y_] := PDF[NormalDistribution[-1, 1], y]
  6. f1[y_] := PDF[NormalDistribution[1, 1], y]
  7. l[y_] := f1[y]/f0[y]
  8. opts = {Method -> {Automatic, "SymbolicProcessing" -> None}, AccuracyGoal -> 8};
  9. lleq[y_?NumericQ, l0_?NumericQ, l1_?NumericQ, m0_?NumericQ, m1_?NumericQ] := FindRoot[ll[y, l0, l1, m0, m1]^([Alpha] -
  10. 1) == ((m1 - u*ll[y, l0, l1, m0, m1]^(u - 1) +
  11. l1/(1 - [Alpha]))/(m0 + (u - 1)*ll[y, l0, l1, m0, m1]^u +
  12. l0/(1 - [Alpha]))) (l0/l1)*l[y]^([Alpha] - 1), {ll[y, l0,
  13. l1, m0, m1], 1}]
  14. g0[y_?NumericQ, l0_?NumericQ, l1_?NumericQ, m0_?NumericQ, m1_?NumericQ] := ((m0 + (-1 + u) (ll[y, l0, l1, m0, m1] /. lleq[y, l0, l1, m0, m1])^u +
  15. l0/(1 - [Alpha])) ((1 - [Alpha])/l0))^(1/([Alpha] - 1)) *f0[y]
  16. g1[y_?NumericQ, l0_?NumericQ, l1_?NumericQ, m0_?NumericQ, m1_?NumericQ] := ((m1 - u (ll[y, l0, l1, m0, m1] /. lleq[y, l0, l1, m0, m1])^(u - 1) +
  17. l1/(1 - [Alpha])) ((1 - [Alpha])/l1))^(1/([Alpha] - 1)) *f1[y]
  18. h0[l0_?NumericQ, l1_?NumericQ, m0_?NumericQ, m1_?NumericQ] := NIntegrate[g0[y, l0, l1, m0, m1], {y, -Infinity, Infinity}, Evaluate@opts]
  19. h1[l0_?NumericQ, l1_?NumericQ, m0_?NumericQ, m1_?NumericQ] := NIntegrate[g1[y, l0, l1, m0, m1], {y, -Infinity, Infinity}, Evaluate@opts]
  20. h2[l0_?NumericQ, l1_?NumericQ, m0_?NumericQ, m1_?NumericQ] := NIntegrate[g0[y, l0, l1, m0, m1]^[Alpha]*f0[y]^(1 - [Alpha]), {y, -Infinity, Infinity}, Evaluate@opts]
  21. h3[l0_?NumericQ, l1_?NumericQ, m0_?NumericQ, m1_?NumericQ] := NIntegrate[g1[y, l0, l1, m0, m1]^[Alpha]*f1[y]^(1 - [Alpha]), {y, -Infinity, Infinity}, Evaluate@opts]
  22. {l00, l11, m00, m11} = {l0, l1, m0, m1} /. FindRoot[{h0[l0, l1, m0, m1] == 1, h1[l0, l1, m0, m1] == 1, h2[l0, l1, m0, m1] == ((1/([Alpha] (1 - [Alpha]))) - Subscript[[Epsilon], 0])/(1/([Alpha] (1 - [Alpha]))), h3[l0, l1, m0, m1] == ((1/([Alpha] (1 - [Alpha]))) - Subscript[[Epsilon], 1])/(1/([Alpha] (1 - [Alpha])))}, {{l0, 1, 0, 1000}, {l1, 1, 0, 1000}, {m0, .9}, {m1, .9}}, StepMonitor :> Print["Step to l0,l1,m0,m1 = ", {l0, l1, m0, m1}, Evaluate@opts]]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement