Advertisement
thienclone

Untitled

Apr 8th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. from math import sqrt
  2.  
  3. import numpy
  4.  
  5.  
  6. #___________________________________________
  7.  
  8.  
  9. #x
  10. t0 = 0
  11. tn = 20
  12. #y
  13. x0 = 0
  14. v0 = 0
  15. #equation coefficient
  16. m = 0.5
  17. p = 2
  18. k = 0.5
  19. #metavariables
  20. h = 0.2
  21. n = int((tn-t0/h))
  22.  
  23.  
  24. t =[1] *n
  25. v =[2] *n
  26. x =[3] *n
  27.  
  28. v[1]= v0
  29.  
  30. t = numpy.arange(t0, tn + h, h)
  31. x = [x0]
  32.  
  33.  
  34. def F(t,v,x):
  35. return -(1 /m)*k*x **(p-1)
  36. def solve_system_F():
  37.  
  38. for i in range(n):
  39. k1 = h * F(t[i] ,x[i] , v[i] )
  40. k2 = h * F(t[i] + h / 2,x[i]+k1 / 2, v[i] + k1 / 2)
  41. k3 = h * F(t[i] + h / 2,x[i]+k2 / 2, v[i] + k2 / 2)
  42. k4 = h * F(t[i] + h / 1,x[i]+k3 / 1, v[i] + k3 )
  43.  
  44. dv[i] =(k1+2*k2+2*k3+ k4 )*(1/6)
  45.  
  46. v[i]= dv[i-1] + v[i-1]
  47. def sovle_system_v0():
  48. m1 = h*(v[i])
  49. m2 = h*(v[i] + k1*(1/2))
  50. m3 = h*(v[i] + k2*(1/2))
  51. m4 = h*(v[i] + k3)
  52.  
  53. dx[i] = (m1 + 2 * m2 + 2 * m3 + m4) * (1 / 6)
  54. x[i + 1] = x[i] + dx[i]
  55.  
  56. print(x)
  57. print(t)
  58. print(v)
  59.  
  60. name = ("P_2_Oscill.txt")
  61. result = open(name, "w")
  62.  
  63. for f in range(0, n+1):
  64. result.write(str(t[f]) + ' ' + str(v[f]))
  65. result.write("\n")
  66. result.close()
  67.  
  68.  
  69.  
  70. #nho define array de viet mang pha tu.
  71. #____________________________________________________
  72.  
  73. #f = open('p_2_Oscilattion.txt', "w")
  74. #line = ""
  75. #for i in range(n+1):
  76. # line = line + str(t[i]) + "\t"
  77. # for j in range(eq_num):
  78. # line = line + str(y[j][i]) + "\t"
  79. # line = line + "\n"
  80. #f.write(line)
  81.  
  82.  
  83. #file = open("p_2O_sci.txt","w")
  84. #for i in a:
  85. #file1.write(str(i))
  86. #file.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement