목차
1. Prob. 01
1) 풀이과정
2) 결과
3) 주요 프로그램 코딩
4) 고찰
5) Q & A
2. Prob. 02
1) 풀이과정
2) 결과
3) 주요 프로그램 코딩
4) 고찰
5) Q & A
3. Prob. 03
1) 풀이과정
2) 결과
3) 주요 프로그램 코딩
4) 고찰
5) Q & A
4. Prob. 04
1) 풀이과정
2) 결과
3) 주요 프로그램 코딩
4) 고찰
5) Q & A
5. Prob. 05
1) 풀이과정
2) 결과
3) 주요 프로그램 코딩
4) 고찰
5) Q & A
6. Prob. 06
1) 풀이과정
2) 결과
3) 주요 프로그램 코딩
4) 고찰
5) Q & A
7. Prob. 07
1) 풀이과정
2) 결과
3) 주요 프로그램 코딩
4) 고찰
5) Q & A
8. Prob. 08
1) 풀이과정
2) 결과
3) 주요 프로그램 코딩
4) 고찰
5) Q & A
9. Prob. 09
1) 풀이과정
2) 결과
3) 주요 프로그램 코딩
4) 고찰
5) Q & A
10. Prob. 10
1) 풀이과정
2) 결과
3) 주요 프로그램 코딩
4) 고찰
5) Q & A
본문내용
문제 (a) 4계 Runge-Kutta법
#include
#include
double f(double a, double b);//주어진 식에 대한 함수 정의
void main()
{
double y[200];//y값을 저장할 공간
double k[100][100];// k값들을 저장할 공간
y[0] = 20;//y의 초기값
double t = 0;
int i;
double h = 0.5;//t의 구간간격
for (i = 0;; i++)
{
k[1][1] = f(t, y[i]);
k[1][2] = f(t + h / 2, y[i] + h / 2 * k[1][1]);
k[1][3] = f(t + h / 2, y[i] + h / 2 * k[1][2]);
k[1][4] = f(t + h, y[i] + h * k[1][3]);
y[i + 1] = y[i] + h / 6 * (k[1][1] + 2 * (k[1][2] + k[1][3]) + k[1][4]); //4계 Runge-Kutta식
if (y[i + 1] < y[0] / 10)//초기 밀도의 1/10이 되면 중지
{
printf_s(" t = %lf , y1 = %lf\n", (i) / 2.0 , y[i]);
break;
}
}
}
출처 : 해피캠퍼스
답글 남기기