Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from math import sqrt
- import numpy
- #___________________________________________
- #x
- t0 = 0
- tn = 20
- #y
- x0 = 0
- v0 = 0
- #equation coefficient
- m = 0.5
- p = 2
- k = 0.5
- #metavariables
- h = 0.2
- n = int((tn-t0/h))
- t =[1] *n
- v =[2] *n
- x =[3] *n
- v[1]= v0
- t = numpy.arange(t0, tn + h, h)
- x = [x0]
- def F(t,v,x):
- return -(1 /m)*k*x **(p-1)
- def solve_system_F():
- for i in range(n):
- k1 = h * F(t[i] ,x[i] , v[i] )
- k2 = h * F(t[i] + h / 2,x[i]+k1 / 2, v[i] + k1 / 2)
- k3 = h * F(t[i] + h / 2,x[i]+k2 / 2, v[i] + k2 / 2)
- k4 = h * F(t[i] + h / 1,x[i]+k3 / 1, v[i] + k3 )
- dv[i] =(k1+2*k2+2*k3+ k4 )*(1/6)
- v[i]= dv[i-1] + v[i-1]
- def sovle_system_v0():
- m1 = h*(v[i])
- m2 = h*(v[i] + k1*(1/2))
- m3 = h*(v[i] + k2*(1/2))
- m4 = h*(v[i] + k3)
- dx[i] = (m1 + 2 * m2 + 2 * m3 + m4) * (1 / 6)
- x[i + 1] = x[i] + dx[i]
- print(x)
- print(t)
- print(v)
- name = ("P_2_Oscill.txt")
- result = open(name, "w")
- for f in range(0, n+1):
- result.write(str(t[f]) + ' ' + str(v[f]))
- result.write("\n")
- result.close()
- #nho define array de viet mang pha tu.
- #____________________________________________________
- #f = open('p_2_Oscilattion.txt', "w")
- #line = ""
- #for i in range(n+1):
- # line = line + str(t[i]) + "\t"
- # for j in range(eq_num):
- # line = line + str(y[j][i]) + "\t"
- # line = line + "\n"
- #f.write(line)
- #file = open("p_2O_sci.txt","w")
- #for i in a:
- #file1.write(str(i))
- #file.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement