Advertisement
Guest User

Untitled

a guest
Oct 25th, 2014
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.91 KB | None | 0 0
  1. function P()
  2. Sum=0
  3. Maxisp=5000
  4. Maxt=30000
  5. MatrixGammaBin=1:13
  6. MatrixExpBin=1:20
  7. MatrixErlangBin=1:25
  8. MatrixS(Maxt)=0
  9. MatrixResult(Maxt)=0
  10. for isp=1:Maxisp
  11. //Erlang
  12. TAU=-1
  13. for k=1:25
  14. while or([(TAU>30000), or(TAU<0)]) do
  15. R1=grand(1,1,'unf',0,1)
  16. R1=(1 - 0.13533528) * R1 + 0.13533528
  17. R2=grand(1,1,'unf',0,1)
  18. R2=(1 - 0.13533528) * R2 + 0.13533528
  19. R3=grand(1,1,'unf',0,1)
  20. R3=(1 - 0.13533528) * R3 + 0.13533528
  21. TAU=-(1 / 0.0001) * (log(R1*R2*R3))
  22. end
  23. MatrixErlang(k)=round(TAU)
  24. TAU=-1
  25. end
  26. //EndofErlang
  27.  
  28. //Exp
  29. for k=1:20
  30. R=(grand(1,1,'unf',0,1))
  31. R = (1 - 0.04978707) * R + 0.04978707
  32. TAU = -(1 / 0.0001) * log(R)
  33. MatrixExp(k)=round(TAU)
  34. end
  35. //EndofExp
  36.  
  37. //Gamma
  38. R1=9;
  39. R2=9;
  40. R3=9;
  41. TAU=-1;
  42. MatrixGamma=1:13
  43. for k=1:13
  44. while or([(TAU>30000), or(TAU<0)]) do
  45. R1=grand(1,1,'unf',0,1)
  46. R1=(1 - 0.13533528) * R1 + 0.13533528
  47. R2=grand(1,1,'unf',0,1)
  48. R2=(1 - 0.13533528) * R2 + 0.13533528
  49. R3=grand(1,1,'unf',0,1)
  50. R3=(1 - 0.13533528) * R3 + 0.13533528
  51. TAU=-(1 / 0.0001) * (log(R1) + log(R2) + log(R3))
  52. end
  53. MatrixGamma(k)=round(TAU)
  54. TAU=-1
  55. end
  56. //EndofGamma
  57.  
  58. for t=1:Maxt
  59. for i=1:13
  60. if MatrixGamma(i)>t then
  61. MatrixGammaBin(i)=1
  62. else
  63. MatrixGammaBin(i)=0
  64. end
  65. end
  66.  
  67. for ii=1:20
  68. if MatrixExp(ii)>t then
  69. MatrixExpBin(ii)=1
  70. else
  71. MatrixExpBin(ii)=0
  72. end
  73. end
  74.  
  75. for iii=1:25
  76. if MatrixErlang(iii)>t then
  77. MatrixErlangBin(iii)=1
  78. else
  79. MatrixErlangBin(iii)=0
  80. end
  81. end
  82.  
  83. S = 1 - ((1 - MatrixErlangBin(1) * MatrixExpBin(1)) * (1 - MatrixErlangBin(2) * MatrixExpBin(2)) * (1 - MatrixErlangBin(3) * MatrixExpBin(3) * MatrixGammaBin(1)) * (1 - MatrixErlangBin(4) * MatrixExpBin(4) * MatrixGammaBin(2)) * (1 - MatrixErlangBin(5) * MatrixExpBin(5) * MatrixGammaBin(3)) * (1 - MatrixErlangBin(6) * MatrixErlangBin(7) * MatrixExpBin(6) * MatrixGammaBin(4)) * (1 - MatrixErlangBin(8) * MatrixErlangBin(9) * MatrixExpBin(7) * MatrixGammaBin(5)) * (1 - MatrixErlangBin(10) * MatrixErlangBin(11) * MatrixExpBin(8) * MatrixGammaBin(6)) * (1 - MatrixErlangBin(12) * MatrixErlangBin(13) * MatrixExpBin(9) * MatrixGammaBin(7)) * (1 - MatrixErlangBin(14) * MatrixErlangBin(15) * MatrixExpBin(10) * MatrixGammaBin(8)) * (1 - MatrixErlangBin(16) * MatrixErlangBin(17) * MatrixExpBin(11) * MatrixExpBin(12) * MatrixGammaBin(9)) * (1 - MatrixErlangBin(18) * MatrixErlangBin(19) * MatrixExpBin(13) * MatrixExpBin(14) * MatrixGammaBin(10)) * (1 - MatrixErlangBin(20) * MatrixErlangBin(21) * MatrixExpBin(15) * MatrixExpBin(16) * MatrixGammaBin(11)) * (1 - MatrixErlangBin(22) * MatrixErlangBin(23) * MatrixExpBin(17) * MatrixExpBin(18) * MatrixGammaBin(12)) * (1 - MatrixErlangBin(24) * MatrixErlangBin(25) * MatrixExpBin(19) * MatrixExpBin(20) * MatrixGammaBin(13)))
  84. //TODO: исправить алгоритм суммирования
  85. MatrixS(t)=MatrixS(t)+S
  86. Sum=Sum+MatrixS(t)
  87. //Pt=((1/Maxisp)*Sum)
  88. //MatrixResult(t)=MatrixResult(t)+Pt
  89. Sum=0
  90. end
  91. print(%io(2),isp)
  92. if modulo(isp,100)==0 then
  93. clf()
  94. plot2d(MatrixS)
  95. end
  96. end
  97. endfunction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement