본문 바로가기

카테고리 없음

정보과학 계획서 - 미분방정식 개형 출력 프로그램 제작 계획

I. 문제 인식

 

수학이나 물리학 등 다양한 분야를 학습할 때마다 미분방정식이 자주 등장하게 된다.

 

미분방정식은 특수한 형태의 경우가 아니라면 그 해를 구하는 방법이 매우 어렵다. 설령 미분방정식의 풀이가 존재하더라도 모든 미분방정식의 형태를 알아 두고 풀이에 사용하는 것은 불가능에 가깝다.

 

학습 중 마주하게 된 미분방정식을 풀 수 없을 때 미분방정식의 개형이라도 알 수 있다면 문제 상황을 이해하는 데에 어느 정도 도움이 될 수 있을 것이다.

 

이러한 이유로 미분방정식이 입력되었을 때, 간단한 풀이법을 가진 미분방정식이라면 그 일반해 또는 특수해를 계산해 주고 그와 동시에 입력된 미분방정식의 방향장을 프로세싱을 통해 그려 주는 프로그램을 제작하고자 한다,

 

만약 특수해를 구해야 하는 미분방정식이라면 선형근사를 통해서 그 개형 또한 그려 주는 프로그램을 계획하고 있다.

 

II. 배경이론

 

 1. 미분방정식 미분방정식은 함수와 도함수로 이루어진 방정식이다. 미분방정식은 하나의 변수를 가진 상미분방정식과 두 개 이상의 변수를 가진 편미분방정식으로 나눌 수 있다. 본 프로그램은 상미분방정식의 개형에 초점을 두어 제작될 예정이다. 미분방정식은 변화를 이용해서 미래의 상태를 예측하는 데에 사용될 수 있기 때문에 그 중요성이 매우 크다. 미분방정식은 일반해를 구하는 문제와 특수해를 구하는 문제로 나눌 수 있다.

 

2. 변수분리형 미분방정식 변수분리형 미분방정식인 대표적인 간단한 풀이가 알려진 미분방정식의 형태 중 하나이다. 변수분리형 미분방정식은 두 변수를 각각 좌변과 우변으로 몰아 넣을 수 있는 형태의 미분방정식으로 좌변과 우변을 각각 적분함으로써 간단히 해결 가능하다. 일부 복잡한 형태의 미분방정식은 몇 가지 테크닉을 통해 변수분리형 미분방정식으로 바꾸어 해결 가능한 경우도 존재한다. 그 예시로, 동차 미분방정식의 경우 적절한 치환을 통해서 변수분리형 미분방정식으로 변환된다.

 

 

3. 선형 미분방정식 1계 선형 미분방정식은 (dy/dx) + p(x)y = q(x) 형태의 미분방정식이다. 이러한 형태의 미분방정식은 적분인자 를 양변에 곱함을 통해서 곱의 미분법을 이용해 해결 가능하다. 2계 선형 미분방정식은 a(x)(d^2y/dx^2)+b(x)(dy/dx)=c(x)y=g(x) 형태의 미분방정식이다. 이러한 미분방정식은 특성방정식을 이용하여 해결 가능하다. 코시-오일러 방정식 등 특수한 형태의 미분방정식 또한 선형미분방정식으로의 변환을 이용한 고유한 해법이 존재한다.

 

4. 라플라스 변환 라플라스 변환을 이용하면 복잡한 미분방정식을 더 간단한 공간으로 변형시켜 일반적인 대수 방정식처럼 풀이 가능하다.

 5. 방향장 방향장은 미분방정식의 평면의 격자점에서의 접선을 짧게 그려 준 그림이다. 방향장을 이용하면 미분방정식의 특수해의 대략적인 개형을 판단 가능하다. 본 프로그래밍에서는 방향장의 표현 및 출력을 중심으로 제작될 예정이다.

 

6. 선형근사법 선형근사법은 초기해를 구하는 미분방정식 문제를 주어진 초깃값 근처에서 방정식을 선형 방정식으로 근사시킨 후 이를 연속적으로 이어 나가며 미분방정식의 개형을 파악하는 방법이다. 이를 통해 얻어지는 함수를 조각적 선형함수라고 한다.

 

III. 문제 해결 방안 설계

 

간단한 미분방정식의 해의 출력, 미분방정식의 방향장의 생성, 미분방정식의 개형 출력을 위하여 c언어와 프로세싱을 이용할 계획이다.

 

c언어를 이용하여 주어진 미분방정식을 조사해 분류하여, 간단한 해가 존재하는 미분방정식일 경우, 그 해를 구해 출력해 주는 프로그램을 제작할 예정이다.

 

프로세싱의 벡터 등 다양한 기능을 이용하여, 주어진 미분방정식의 정해진 지점에서의 변화율을 계산하여, 화살표 표시를 이용해 방향장을 생성할 예정이다. 이후 초깃값 문제의 경우 주어진 초깃값을 바탕으로 한 미분방정식의 개형과, 선형근사를 이용한 미분방정식의 개형을 출력해 줄 예정이다.

 

이러한 프로그램의 개발을 위하여 먼저 미분방정식에 대한 깊은 학습을 진행한 후, 올바른 입력된 미분방정식 처리를 위해 문자열에 대한 내용을 숙련할 계획이며, 최종적으로 프로세싱의 벡터 기능 등 필요한 개념들을 모두 학습 후 미분방정식 방향장 생성 프로그램을 제작해 낼 계획이다.