2014-01-06 4 views
0

수학적 해가 2 차 항으로 주어진다. ODE : 수학적 해가 다시 쓰여진다. U = X 'U'가 S (V - U)^22'nd 유체 유체에서의 피돈 - cfd - sphere 운동

경계 조건 : 2 배 차수 ODE를 1'nd. 0 = U0 = 10 티맥스 X0 = 0

T0 = 0, dt = 1이다.

는하지만 난 프로그래머에게 약간의 버그를 생각하고 위선적 인 말투는

코드를 찾을 수 있습니다 : 당신이 X를 사용하려면 대신 U와 U의 U 수처럼

import numpy as np 
from scipy.integrate import odeint 
import pylab as pl 

rho=10e3 
Cd=1 
r=0.05 
m=5 
s=rho*Cd*(r**2)*np.pi/(2*m) 
v=1 

t_max, dt = 10., 1. 
time_vec = np.linspace(0, t_max, num=np.round(t_max/dt)+1) 
x_vec=[0.,0.] 

def d(x_vec,t): 
    return np.array([s*((v-x_vec[0])**2), x_vec[0]]) # u'[0]=s*((v-u_vec[0])**2), u[1]'=u_vec[0] 

x,u = odeint(func=d, y0=x_vec, t=time_vec).T 

pl.plot(time_vec, u[:], label='u[m/s]=x/t') 
pl.plot(time_vec, x[:], label="x[m]") 
pl.legend() 
pl.show() 

답변

1

그것은 나에게 보인다 '. 예제 here (page 2)here 및 odeint 문서를 참조하십시오. x'=uu' = s(v - u)^2 시스템의 경우 d[x,u]을 입력으로 사용하고 으로 예상하여 [x',u']을 반환 할 수 있습니다.