홈>
나는 sympy와 scipy로 일하고 있지만 결합 미분 방정식 시스템 (비선형, 1 차)을 푸는 방법을 찾거나 알 수 없습니다.
결합 미분 방정식을 풀 수있는 방법이 있습니까?
방정식은 다음과 같은 형식입니다 :
V11'(s) = -12*v12(s)**2
v22'(s) = 12*v12(s)**2
v12'(s) = 6*v11(s)*v12(s) - 6*v12(s)*v22(s) - 36*v12(s)
v11 (들), v22 (들), v12 (들)에 대한 초기 조건.- 답변 # 1
- 답변 # 2
SciPy 방법 외에도
odeint
그리고ode
이미 언급 했으므로 이제solve_ivp
가 있습니다. 더 새롭고 더 편리합니다.[v11, v22, v12]
를 인코딩하는 완전한 예 배열v
로 :from scipy.integrate import solve_ivp def rhs(s, v): return [-12*v[2]**2, 12*v[2]**2, 6*v[0]*v[2] - 6*v[2]*v[1] - 36*v[2]] res = solve_ivp(rhs, (0, 0.1), [2, 3, 4])
(0, 0.1)
간격의 시스템을 해결합니다. 초기 값[2, 3, 4]
. 결과는res.t
와 같은 독립 변수 (표기법에 있음)가 있습니다 :array([ 0. , 0.01410735, 0.03114023, 0.04650042, 0.06204205, 0.07758368, 0.0931253 , 0.1 ])
t_eval
를 제공 할 수 있습니다 원하는 지점에서 솔루션을 평가하려면 : 예 :t_eval=np.linspace(0, 0.1)
.종속 변수 (우리가 찾고있는 함수)는
res.y
에 있습니다. :array([[ 2. , 0.54560138, 0.2400736 , 0.20555144, 0.2006393 , 0.19995753, 0.1998629 , 0.1998538 ], [ 3. , 4.45439862, 4.7599264 , 4.79444856, 4.7993607 , 4.80004247, 4.8001371 , 4.8001462 ], [ 4. , 1.89500744, 0.65818761, 0.24868116, 0.09268216, 0.0345318 , 0.01286543, 0.00830872]])
plt.plot(res.t, res.y.T)
로 표시됩니다. (t_eval
를 제공하면 줄거리가 더 부드럽습니다. 언급 한대로)마지막으로, 시스템에 1보다 큰 차수의 방정식이 포함 된 경우 1 차 시스템으로 축소를 사용해야합니다.
관련 자료
- python - 방정식 시스템 풀기 - matlab 2 미분, 1 차 2 차
- 파이썬에서 상수가있는 미분 방정식 시스템을 어떻게 해결할 수 있습니까?
- Matlab에서 부울 방정식 시스템 풀기
- 변수가 비트이고 연산이 xor 인 방정식 시스템을 해결하는 알고리즘은 무엇입니까?
- numpy - 파이썬에서 선형 방정식 시스템 AX = B를 푸십시오 nplinalgsolve 작동하지 않습니다
- python - 함수 scipyintegrateRK45를 사용하여 결합 미분 방정식을 풉니 다
- numpy - 파이썬에서 비선형 방정식 시스템을 어떻게 해결할 수 있습니까?
- c# - MathNet Numerics를 사용하여 일반 미분 방정식 시스템 풀기
- sympy - 파이썬에서 fsolve로 비선형 방정식 시스템을 올바르게 푸는 방법
- python - fsolve가 모든 방정식 시스템에 적합합니까?
- math - Java에서 알 수없는 변수가있는 방정식을 푸십시오
- algorithm - 파이썬 N 개의 미지수와 N 개의 방정식 시스템을 해결
- c++ - 칼리 시스템에서 C 언어로이 오류를 어떻게 해결할 수 있습니까?
- matlab - 이전 솔루션에 최대한 가까운 방정식 시스템의 솔루션을 찾습니다
- symbolic math - MATLAB에서 MNA 방정식 시스템을 상태 공간 [A, B, C, D] 미모로 가져 오는 방법은 무엇입니까?
- 행렬 변수와 함께 등식의 방정식 시스템 풀기
- R의 미분 방정식을 해결하고 그리는 방법?
- python - sympy로 비선형 방정식을 풀지 만 작은 허수 부분으로 결과를 얻었습니다
- machine learning - 신경 네트워크 백 전파에서 미분 방정식을 얻는 방법은 무엇입니까?
- python 3.x - 하나의 비선형 방정식과 미분 방정식을 풀어 sympy로 최대 값을 구합니다
관련 질문
- python : 복합 회전 오브젝트 누적
- python : 파이썬에서 동등한 dsearchn
- python : 파이썬에서 함수의 제곱 평균
- python : scipy를 사용한 3D 회전이 예상대로 작동하지 않습니다.
- python : 2D numpy 배열 및 사전을 사용하여 tic tac toe 만들기
- python : 2D 롤링 창 분위수를위한 가장 빠른 방법?
- python : PIL 및 numpy를 사용하여 .jpg 이미지의 픽셀을 행별로 섞는 방법
- python : Contourf의 Matplotlib 원본이 작동하지 않는 것 같습니다.
- python : scipy 보간 속도 : RectBivariateSpline보다 빠른 것이 있습니까?
- Numpy Python에서 다른 배열에 대해 반복
scipy가있는 ODE의 수치 해법은
scipy.integrate.solve_ivp
를 참조하십시오.scipy.integrate.odeint
또는 scipy.integrate.ode.SciPy 요리 책에 몇 가지 예가 있습니다 ( "일반 미분 방정식"섹션으로 스크롤).