- 수치해석 관련
- 부끄~ (2001/06/01)추천0 조회수2658
- 안녕하세요. 수치해석을 듣고 있는 화공과 학부생입니다.
수업을 듣다보니 미분방정식에는 ODE와 PDE가 있고
우리가 다루는 것은 보통 ODE라고 하는데,
두 방정식의 차이가 무엇인지요?
ODE를 푸는 방법을 PDE에 적용하면 안 풀리나요?
만약 그렇다면 어떤 방법들이 있는지, 또 편하게 사용할 수 있는 프로그램 같은게 있는지 궁금합니다.
전체덧글1
관리자 (2001-06-02 13:28:47)+덧글답변
공감0
비공감0

안녕하세요.
>수업을 듣다보니 미분방정식에는 ODE와 PDE가 있고
>우리가 다루는 것은 보통 ODE라고 하는데,
>두 방정식의 차이가 무엇인지요?
보통 함수를 표현하는 것을 보면 f(x)라고 표현 된것은 독립변수(independent variable)가 x 하나로 구성된 것으로 식의 오른편 쪽이 x만의 함수로 되어있는 것입니다. f(x,y) 나 f(x,y,z)등으로 되어있으면, 독립변수가 하나 이상 되는 것으로 우변의 식이 하나이상의 변수로 이루어진 것입니다. 여기서 독립변수가 하나로 된 식의 미분이 Ordinary Differential Equation(ODE, 상미방)이고, 독립변수가 2개이상 미분에 영향을 미치는 것이 Partial Differential Equation(PDE, 편미방)입니다. 편미방은 변수가 미분에서 식에 미치는 영향이 여러개의 변수 중 그 특정 독립변수에 대해서 어떻게 미치는 지를 나타낸 것입니다.
>ODE를 푸는 방법을 PDE에 적용하면 안 풀리나요?
ODE를 푸는 방법은 Euler Method, Runge-Kutta Method, Adams Formulas, Predictor-Corrector Method 등 여러가지가 있으며 step을 옮기는 방법이나, difference method로 미방식으 표현하는 차이 등에서 구분을 합니다.
PDE를 푸는 방법은 조금더 복잡하여 하나의 축에서 step을 옮기는 것이 아니고, 두개의 축이 교차하는 가운데, 하나의 축에서의 값은 고정시키고 다른 축에서의 값을 계산하여 풀어주는 방식입니다. 물론 matrix 계산을 해야지만 되겠지요. 여기서도 1차, 2차 등의 편미방 차수와 편미방의 형태에 따라 그리고 계산 step을 이동시켜주는 방법에 따라 많은 종류의 풀이법이 있습니다.
결론적으로, PDE를 풀어주려면 수치해석적인 입장에서는 ODE가 여러개 결합되어있는 형태로 전환시켜주어 풀게되고, 이 때 전환 방법에 따라 정확도가 차이가 있으므로 이 방법의 선택이 중요하다고 할 수 있습니다.
>만약 그렇다면 어떤 방법들이 있는지, 또 편하게 사용할 수 있는 프로그램 같은게 있는지 궁금합니다.
Finite Element Method(FEM)과 Finite Difference Method(FDM) 등이 있으며, Orthogonal Collocation Method(OCM) 등도 그러한 전환 방법 중 하나입니다.
글쎄요... \'편하게 사용할 수있는\' 이란 말이 좀 그렇긴 하지만, MATLAB이란 상용 프로그램에도 ODE 및 PDE solver에 대한 것들이 있고, DSS2라는 fortran source file을 이용하면, library file을 만들어서 fortran 프로그램에 연결시켜 사용할 수 있습니다.


>수업을 듣다보니 미분방정식에는 ODE와 PDE가 있고
>우리가 다루는 것은 보통 ODE라고 하는데,
>두 방정식의 차이가 무엇인지요?
보통 함수를 표현하는 것을 보면 f(x)라고 표현 된것은 독립변수(independent variable)가 x 하나로 구성된 것으로 식의 오른편 쪽이 x만의 함수로 되어있는 것입니다. f(x,y) 나 f(x,y,z)등으로 되어있으면, 독립변수가 하나 이상 되는 것으로 우변의 식이 하나이상의 변수로 이루어진 것입니다. 여기서 독립변수가 하나로 된 식의 미분이 Ordinary Differential Equation(ODE, 상미방)이고, 독립변수가 2개이상 미분에 영향을 미치는 것이 Partial Differential Equation(PDE, 편미방)입니다. 편미방은 변수가 미분에서 식에 미치는 영향이 여러개의 변수 중 그 특정 독립변수에 대해서 어떻게 미치는 지를 나타낸 것입니다.
>ODE를 푸는 방법을 PDE에 적용하면 안 풀리나요?
ODE를 푸는 방법은 Euler Method, Runge-Kutta Method, Adams Formulas, Predictor-Corrector Method 등 여러가지가 있으며 step을 옮기는 방법이나, difference method로 미방식으 표현하는 차이 등에서 구분을 합니다.
PDE를 푸는 방법은 조금더 복잡하여 하나의 축에서 step을 옮기는 것이 아니고, 두개의 축이 교차하는 가운데, 하나의 축에서의 값은 고정시키고 다른 축에서의 값을 계산하여 풀어주는 방식입니다. 물론 matrix 계산을 해야지만 되겠지요. 여기서도 1차, 2차 등의 편미방 차수와 편미방의 형태에 따라 그리고 계산 step을 이동시켜주는 방법에 따라 많은 종류의 풀이법이 있습니다.
결론적으로, PDE를 풀어주려면 수치해석적인 입장에서는 ODE가 여러개 결합되어있는 형태로 전환시켜주어 풀게되고, 이 때 전환 방법에 따라 정확도가 차이가 있으므로 이 방법의 선택이 중요하다고 할 수 있습니다.
>만약 그렇다면 어떤 방법들이 있는지, 또 편하게 사용할 수 있는 프로그램 같은게 있는지 궁금합니다.
Finite Element Method(FEM)과 Finite Difference Method(FDM) 등이 있으며, Orthogonal Collocation Method(OCM) 등도 그러한 전환 방법 중 하나입니다.
글쎄요... \'편하게 사용할 수있는\' 이란 말이 좀 그렇긴 하지만, MATLAB이란 상용 프로그램에도 ODE 및 PDE solver에 대한 것들이 있고, DSS2라는 fortran source file을 이용하면, library file을 만들어서 fortran 프로그램에 연결시켜 사용할 수 있습니다.