룽게-쿠타 방법
위키백과, 우리 모두의 백과사전.
룽게-쿠타 방법(Runge-Kutta Method)은 수치해석에서 일반적인 미분방정식을 푸는 반복적인 방법이다. 1900년 경 독일의 수학자 카를 룽게와 마르틴 빌헬름 쿠타에 의하여 개발되었다.
목차 |
일반적인 4차 룽게-쿠타 방법 [편집]
일반적으로 사용되는 룽게 쿠타 방법으로 "RK4" 로 표기된다. 일반적으로 룽게 - 쿠타 방법이라 하면 4차 룽게-쿠타 방법을 의미한다.
다음과 같은 초기값문제를 가정하자.
이 문제에 대한 RK4 방법은 다음과 같이 주어진다.
여기서
은
의 RK4 근사값이다.
RK4 방법은 4차 해법이다. 이는 각 스텝에서의 에러가
오더, 전체 에러가
오더 라는 것을 의미한다.
Explicit 룽게 - 쿠타 방법 [편집]
Adaptive 룽게 - 쿠타 방법 [편집]
Implicit 룽게 - 쿠타 방법 [편집]
알고리즘 [편집]
코드 [편집]
- C/C++ 코드
//Program Of Rung-Kutta 4th Order
- include<stdio.h>
- include<conio.h>
- include<math.h>
float fx(float x,float y) {
return(x*y+1);
} void main() {
float x0,y0,x1,y1,h,i,ax,ty,k1,k2,k3,k4;
clrscr();
printf("\n Enter Value Of x0 and y0");
scanf("%f %f",&x0,&y0);
printf("\n Enter Value of h");
scanf("%f",&h);
printf("\n Enter Final Value of x");
scanf("%f",&ax);
printf("\nx\ty");
printf("\n_______________________________________\n");
do
{
k1=h*fx(x0,y0);
k2=h*fx(x0+h/2,y0+k1/2);
k3=h*fx(x0+h/2,y0+k2/2);
k4=h*fx(x0+h,y0+k3);
y1=y0+0.1667*(k1+(2*k2)+(2*k3)+k4);
x1=x0+h;
printf("\n%.4f\t%.4f",x1,y1);
x0=x1;
y0=y1;
}while(x0<ax); getch();
}
- Maple 코드
참고 [편집]
| 이 글은 컴퓨터에 관한 토막글입니다. 서로의 지식을 모아 알차게 문서를 완성해 갑시다. |
| 이 글은 수학에 관한 토막글입니다. 서로의 지식을 모아 알차게 문서를 완성해 갑시다. |


