| 연습문제 5.2 2 . 문제 1의 초기값 문제에 대한 실제해가 다음에 주어져 있다. 각 단계의 실제 오차를 오차한계와 비교하여라.
 a)
 문제 1 : a) , 0≤t≤1, y(0)=0, h=0.5
 
 b)
 문제 1 : b) , 2≤t≤3, y(2)=1, h=0.5
 
 c)
 문제 1 : c) , 1≤t≤2, y(1)=2, h=0.25
 
 d)
 문제 1 : d) , 0≤t≤1, y(0)=1, h=0.25
 
 연습문제 5.4
 3 . 다음 초기값 문제에 대한 근사해를 Adams-Bashforth방법을 사용하여 구하아. 각 경우마다 4계의 Runge-Kutta 방법을 사용하여 구한 초기값을 사용하라. 결과를 실제값과 비교하라.
 (a) , 1≤t≤2 , y(1)=1 , h=0.1 , 실제해 :
 
 프로그램
 #include
 #include
 
 double dy(double t,double y)
 {
 double k;
 k = y/t - pow(y/t,2);
 return (k);
 }
 
 void main()
 {
 int i,j;
 double w[4][11],a[5],k1,k2,k3,k4,
 h = 0.1 , tl = 1. , th = 2. ,
 y[11],n,t = 0.;
 n = (th-tl)/h;
 a[0] = 1.;
 
 for (i=0;i<=4;i++)
 {
 t = (double)i*h + tl ;
 k1 = h*dy(t,a[i]);
 k2 = h*dy(t+h/2.,a[i]+k1/2.);
 k3 = h*dy(t+h/2.,a[i]+k2/2.);
 k4 = h*dy(t+h,a[i]+k3);
 a[i+1] = a[i] + (k1 + 2.*k2 + 2.*k3 + k4)/6.;
 }
 ....
 |