수치해석 6장 초기치 문제, 7장 경계치 문제

목차

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; } } } 
출처 : 해피캠퍼스

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다