부분적인 차별 방정식 (PDEs)는 열 이동 파 전파 전파 전파 전파 전파 전파 전파, 유체 동적과 같은 다양한 물리적 현상을 모델링하는 근본적입니다. NumPy와 SciPy와 같은 Python 라이브러리를 사용하여이 방정식이 핵으로 해결하는 과정을 단순화합니다. 이 문서는 이러한 도구로 PDE를 해결하는 단계별 접근 방식을 제공합니다.

문제 설정

PDE 및 도메인 정의에 의해 시작. 예를 들어, 1 차원 열 방정식을 고려:

∂u/∂t = α ∂2u/∂x2

초기 조건, 경계 조건 및 열 확산과 같은 매개 변수를 지정 ].

도메인의 공개

NumPy arrays를 사용하여 공간 도메인을 분리하십시오. 예를 들어, 포인트의 그리드를 생성합니다.

np로 numpy]

x = np.linspace(0, 1, 100)]

시간 단계 및 총 시뮬레이션 시간을 설정하여 수치 안정성과 정확성을 제어합니다.

Numerical 방법 구현

finite difference 메소드를 사용하여 대략적인 파생물에 대해 사용합니다. 열 방정식의 경우, 명시된 계획은 각 점에서 온도를 업데이트합니다.

u new = u + r * (u[i+1] - 2*u[i] + u[i-1])

여기서 r]는 α * dt / dx2로 계산된 안정성 파라미터입니다.

심볼을 실행

시간 단계에 걸쳐, 각 반복에 해결책 배열을 새롭게 하기. 효율성을 위한 NumPy 가동을 사용하십시오:

]범위에 n을 위해(단계):

  u[1:-1] = u[1:-1] + r * (u[2:] - 2*u[1:-1] + u[:-2])

문제 제약을 유지하기 위해 각 업데이트 후 경계 조건을 적용합니다.

결과 표시

Matplotlib와 같은 라이브러리를 사용하여 온도 분포를 시각화합니다. 초기 및 최종 상태를 뽑아 확산 과정을 관찰합니다.

예시 코드:

import matplotlib.pyplot 를 plt]로 변경

plt.plot(x, u)