Guest User

Untitled

a guest
Mar 18th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.41 KB | None | 0 0
  1. <strong>Attributes:</strong><br>
  2.  
  3. <div style="display:inline-block">
  4. <label>Prey: </label><input type="number" class = "input" id="preyBox" value="1.1" step="0.1" style="display:inline-block; width: 20%;"/>
  5. </div> <br>
  6. <div style="display:inline-block">
  7. <label>Predator: </label><input type="number" class = "input" id="predBox" value="0.4" step="0.1" style="display:inline-block; width: 20%;"/>
  8. </div> <br>
  9.  
  10. <div style="display:inline-block">
  11. <label>Time: </label><input type="number" class = "input" id="timeBox" min = "0" value="10" style="display:inline-block; width: 20%;"/>
  12. </div> <br>
  13.  
  14. <div style="display:inline-block">
  15. <label>r: 0</label><input type="range" class = "input" id="rRange" value = "1.3" min="0" max="10" step="0.1" style="width:20%"/><label>10</label>
  16. </div><br>
  17. <div style="display:inline-block">
  18. <label>u: 0</label><input type="range" class = "input" id="uRange" value = "0.7" min="0" max="1" step="0.1" style="width:20%"/><label>1</label>
  19. </div><br>
  20. <div style="display:inline-block">
  21. <label>K: 0</label><input type="range" class = "input" id="KRange" value = "1" min="0" max="100" style="width:20%"/><label>100</label>
  22. </div><br>
  23. <div style="display:inline-block">
  24. <label>s: 0</label><input type="range" class = "input" id="sRange" value = "0.5" min="0" max="10" step="0.1" style="width:20%"/><label>10</label>
  25. </div><br>
  26. <div style="display:inline-block">
  27. <label>v: 0</label><input type="range" class = "input" id="vRange" value = "1.6" min="0" max="10" step="0.1" style="width:20%"/><label>10</label>
  28. </div>
  29.  
  30. var elements = document.getElementsByClassName("input");
  31. for(var i = 0; i < elements.length; i++){
  32. elements[i].addEventListener("change", updateGraph);
  33. }
  34.  
  35. var x = {'vector': new Array()}
  36. var y = {
  37. 'preyVector': new Array(),
  38. 'predVector': new Array(),
  39. }
  40.  
  41. function valueOf(element){
  42. return parseFloat(document.getElementById(element).value)
  43. }
  44. function adjustX(){
  45. x.vector = new Array()
  46. for(var i = 0; i < valueOf("timeBox"); i++){
  47. x.vector[i] = i
  48. }
  49. }
  50. function adjustYPrey(){
  51. y.preyVector = new Array()
  52. y.preyVector[0] = valueOf("preyBox")
  53. for(var i = 0; i < x.vector.length - 1; i++){
  54. //y.preyVector[i+1] = parseFloat(y.preyVector[i]) * (1+(valueOf("rRange")*(1-(parseFloat(y.preyVector[i])/valueOf("KRange"))))) - (valueOf("sRange") * parseFloat(y.preyVector[i]) * parseFloat(y.predVector[i]))
  55. y.preyVector[i+1] = y.preyVector[i] * (1+valueOf("rRange")*(1-y.preyVector[i]/valueOf("KRange"))) - valueOf("sRange")*y.preyVector[i]*y.predVector[i]
  56. console.log(y.preyVector[i+1])
  57. if(isNaN(y.preyVector[i+1])) {
  58. console.log("something fishy here")
  59. }
  60. }
  61.  
  62. }
  63. function adjustYPred(){
  64. y.predVector = new Array()
  65. y.predVector[0] = valueOf("predBox");
  66. for(var i = 0; i < x.vector.length - 1; i++){
  67. y.predVector[i+1] = (1-valueOf("uRange"))*y.predVector[i] + valueOf("vRange")*y.predVector[i] * y.preyVector[i]
  68.  
  69. }
  70. }
  71.  
  72. x = []
  73. for i in range(10):
  74. x.append(i)
  75. preyInitial = 1.1
  76. predInitial = 0.4
  77.  
  78. prey = [None]*len(x)
  79. pred = [None]*len(x)
  80.  
  81. r = 1.3
  82. u = 0.7
  83. K = 1
  84. s = 0.5
  85. v = 1.6
  86.  
  87. prey[0] = preyInitial
  88. pred[0] = predInitial
  89.  
  90. def plot():
  91. for i in range(len(x)-1):
  92. prey[i + 1] = prey[i] * (1+r*(1-prey[i]/K)) - s*prey[i]*pred[i]
  93. pred[i + 1] = (1-u)*pred[i] + v*prey[i]*pred[i]
  94.  
  95. print("Prey data:n", prey[:])
  96. print("Predator data:n", pred[:])
  97.  
  98. plot()
Add Comment
Please, Sign In to add comment