numerical analysis spring semester 2011 homework (part 1)
DESCRIPTION
Numerical Analysis Spring Semester 2011 Homework (part 1). 환경공학과 20071477 오호식. I.1 Taylor 급수를 유도하고 절단 오차를 설명하라. 절단오차. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/1.jpg)
Numerical Analysis Spring Semester 2011Homework (part 1)
환경공학과20071477 오호식
![Page 2: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/2.jpg)
I.1 Taylor 급수를 유도하고 절단 오차를 설명하라 .
![Page 3: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/3.jpg)
![Page 4: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/4.jpg)
![Page 5: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/5.jpg)
![Page 6: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/6.jpg)
절단오차
수학적으로 엄밀하게 주어지는 함수 f 의 값을 , 유한의 사칙 연산의 반복 계산 식 fa 로 근사하는 경우 , (fa-f) 의 오차가 생긴다 . 이것을 , 절단 오차 (truncation error) 라 한다 . 예를 들면 , 테일러급수를 이용하여 삼각함수를 계산할 때 , 무한급수의 계산을 유한 항까지의 계산으로 중단하기 위해서 , 절단오차가 발생한다 .
![Page 7: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/7.jpg)
I.2 다음의 역행렬을 구하는 문제에 대하여
1) 알고리즘을 설명하고 프로그램을 작성 실행하라 .2) 책의 프로그램을 Visual Fortran, Visual C 등의 Compiler 를 이용하여 실행하고 알고리즘 및 계산 결과를 설명하라 . 3) 본 프로그램을 Visual Basic 프로그램으로 변환하라 .
![Page 8: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/8.jpg)
(1) 알고리즘
• 알고리즘 : 알고리즘 : 어떠한 문제를 해결하기 위한 여러 동작들의 유한한 모임이다 .
• 입력 : 외부에서 제공되는 자료가 0 개 이상 존재한다 .• 출력 : 적어도 1 개 이상의 결과를 내어야 한다 .• 명확성 : 각 명령어들은 명확하고 모호하지 않아야 한
다 .• 유한성 : 알고리듬의 명령어들은 유한번의 수행후에
종료되어야 한다 . 이것 은 수행 시간의 현실적인 유한성을 의미한다 .
• 효과성 : 모든 명령어들은 원칙적으로 종이와 연필만으로 수행될 수 있는 기본적인 것이어야 한다 .
![Page 9: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/9.jpg)
↑전처리선언부
↓
/* < 주 프로그램 > */#include <stdio.h>#include <stdlib.h>
main(){
int i, j;double a[2][2];/* 2×2 입력행렬 */double b[2][2];/* 2×2 출력행렬 */
double d;/* A 의 행렬식 */
↑자료
입력부↓
/*** step 1 자료의 입력 ***/printf("2×2 행렬의 역행렬 계산 . \n");
for (i=0 ; i<2 ; i++){for (j=0 ; j<2 ; j++){
printf ("a%d%d=", i+1, j+1);scanf ("%lf", &a[i][j]);
}}
![Page 10: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/10.jpg)
↑계산부↓
/*** step 2 행렬식의 계산 ***/d=a[0][0]*a[1][1]-a[0][1]*a[1][0];/*** step 3 에러 처리 ***/if(d==0.0){printf(" 행렬이 정칙이 아닙니다 \n");exit(1);}/*** step 4 역행렬 계산 ***/b[0][0] = a[1][1]/d;b[0][1] = -a[0][1]/d;b[1][0] = -a[1][0]/d;b[1][1] = a[0][0]/d;
↑자료출력부↓
/*** step 5 결과의 출력 ***/printf ("\n < 해 > \n");printf ("B \n");for (i=0 ; i<2 ; i++){for (j=0 ; j<2 ; j++){printf (" % lf", b[i][j]);}printf ("\n");}
![Page 11: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/11.jpg)
2) 책의 프로그램을 Visual Fortran, Visual C 등의 Compiler를 이용하여 실행하고 알고리즘 및 계산 결과를 설명하라 .
<Visual Fortran>c < 주 프로그램 >implicit double precision (a-h, o-z)parameter (nmax=8)dimension a(nmax,nmax), wv(nmax),
lsw(nmax)c *** 단계 1 자료 입력 ***write(6,*) 'LU 분해에 따른 역행렬의 계산 'write(6,*) 'LU 분해의 계산 'write(6,*) ' 행렬의 크기 n ='read(5,*) nwrite(6,*) ' 행렬 요소의 입력 'call s_inmg(a,n,n,'a')
Visual Fortran
![Page 12: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/12.jpg)
c *** 단계 2 X=A^-1 의 계산 ***call s_invm(a,wv,n,lsw,ierr)c *** 단계 3 계산 결과의 표시 ***if(ierr.eq.1) thenwrite(6,*) ' 행렬이 정칙이 아님 'elsewrite(6,*) ' 계산 결과 'call s_outm(a,n,n,'x')end ifstopendc < LU 분해에 따른 역행렬 계산의 subroutine >subroutine s_invm(a,wv,n,lsw,ierr)c a : n*n 입력 행렬 /계산 결과 (in/out)c wv : n 워크 벡터 (work)c n : 스칼라 행렬의 크기 (in)c lsw : n*1 행의 교환 정보 (work)c ierr : 스칼라 에러 코드 0: 정상 1: 비 정상 (out)implicit double precision (a-h, o-z)dimension a(n,n), wv(n), lsw(n)
![Page 13: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/13.jpg)
c *** 단계 1 Doolittle 법에 따른 LU 분해 ***call s_dot(a,n,lsw,ierr)if(ierr.eq.1) thenreturnend ifc *** 단계 2 y 의 반복 계산 ***do i=1,ndo j=i+1,nsum=0.0do k=i+1,j-1sum=sum+a(j,k)*a(k,i)enddoa(j,i)=-a(j,i)-sumenddoenddo
![Page 14: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/14.jpg)
c *** 단계 3 x 의 반복 계산 ***do j=n,1,-1do k=j,nwv(k)=a(j,k)enddodo i=1,nsum=0.0do k=j+1,nsum=sum+wv(k)*a(k,i)enddoif(j.lt.i) a(j,i)=-sum/wv(j)if(j.eq.i) a(j,i)=(1.0-sum)/wv(j)if(j.gt.i) a(j,i)=(a(j,i)-sum)/wv(j)enddoenddoc *** 단계 4 pivot 교환에 따른 열의 교환 ***do i=1,ndo j=1,nwv(j)=a(i,j)enddodo k=1,na(i,lsw(k))=wv(k)enddoenddoierr=0returnend
![Page 15: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/15.jpg)
<Visual C>/* < 주 프로그램 > */#include "smp.h"main(){int i,N,*LSW;double *a, *wv;/*** 단계 1 자료 입력 ***/printf("LU 분해에 따른 역행열의 계산 \n";printf(" 행렬 A 의 크기 N = ");scanf("%d", &N);a=calloc(N*N, sizeof (double));wv=calloc(N, sizeof (double));LSW=calloc(N, sizeof (int));if(a==NULL || wv==NULL || LSW==NULL){printf("\n 메모리가 확보되지 않았음 ");exit(1);}printf(" 행렬 A 의 요소의 입력 \n");S_INMG(a,N,N,"a");
![Page 16: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/16.jpg)
/*** 단계 2 X=A^-1 의 계산 ***/i=S_INVM(a,wv,N,LSW);/*** 단계 3 계산 결과의 표시 ***/if(i){printf(" 행렬이 정칙이 아님 ")}else{printf(" 계산 결과 \n");S_OUTM(a,N,N,"x")}}/* < LU 분해에 따른 역행열 계산의 함수 > */int S_INVM(double *a, double *wv, int N, int *LSW)/* 반환값 : 에러 코드 0: 정상 1: 이상a : N*N 입력 행렬 /역행 열 (In/Out)wv : N*1 작업 용 (Work)N : 스칼라 행렬의 크기 (In)LSW : N*1 행의 교환 정보 (Work) */{int i, j, k, ks;double sum;
![Page 17: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/17.jpg)
/*** 단계 1 Doolittle 법에 따른 LU 분해 ***/i=S_DOT(a,N,LSW)if(i==1) return 1;/*** 단계 2 Y 의 반복 계산 ***/for(i=0;i<N;i++){for(j=i+1;j<N;j++){sum=0.0;for(k=i+1;k<j;k++) sum=sum+a[N*j+k]*a[N*k+i];a[N*j+i]=-a[N*j+i]-sum;}}/*** 단계 3 X 의 반복 계산 ***/for(j=N-1;j>=0;j--){for(k=j;k<N;k++) wv[k]=a[N*j+k];for(i=0;i<N;i++){sum=0;for(k=j+1;k<N;k++) sum=sum+wv[k]*a[N*k+i];if(j<i) a[N*j+i]=-sum/wv[j];if(j==i) a[N*j+i]=(1.0-sum)/wv[j];if(j>i) a[N*j+i]=(a[N*j+i]-sum)/wv[j];}}
![Page 18: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/18.jpg)
•/*** 단계 4 Pivot 교환에 따른 열의 교환 ***/• for(i=0;i<N;i++){•for(j=0;j<N;j++) wv[j]=a[N*i+j];• for(k=0;k<N;k++) a[N*i+LSW[k]]=wv[k];•}•return 0;•}
![Page 19: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/19.jpg)
III.1 3 원 연립방정식에 대하여 행렬식(Determinant) 을 이용하여 역행렬을 구하는 방법과 연립방정식을 푸는 방법을 설명하라 ( 수학책 참조 ).
![Page 20: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/20.jpg)
행렬식
•정방 행렬 A 의 LU 분해가 A=LU 인 경우 , 그 행렬식 |A| 는 |A|=|L| |U|
•로 표현할 수 있다 . Doolittle 법에 따라 LU 분해에서는 , L 의 대각 요소는 모두 1 이고 , 삼각 행렬의 행렬식은 그 대각 요소의 적 ( 積 ) 이기 때문에
•가 된다 . 따라서 , |A| 은 U 의 모든 대각 요소의 적으로서 구해진다 . 단 ,LU 분해에 있어서 Pivot 의 선택이 있는 경우는 , Pivot 을 교환할 때마다 행렬식의 부호를 바꾸어주기 위해 , 교환 회수가 m 인 경우
![Page 21: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/21.jpg)
•가 된다 . 따라서 , |A| 은 U 의 모든 대각 요소의 적으로서 구해진다 . 단 ,LU 분해에 있어서 Pivot 의 선택이 있는 경우는 , Pivot 을 교환할 때마다 행렬식의 부호를 바꾸어주기 위해 , 교환 회수가 m 인 경우
•가 된다 .•Doolittle 법에 따른 LU 분해의 결과 , 구해진 U
와 Gauss 의 소거법에 있어서 전진 소거가 끝난 단계에서의 식 (4.14) 의 계수 행렬이 같은 것은 앞서 서술하였다 . 이것으로부터 , Gauss 소거법에 있어서도 모든 Pivot 의 적
![Page 22: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/22.jpg)
•에 따라 행렬식을 구하는 것이 가능하다 . 행렬식만 구하는 경우는 , Gauss 의 단순 소거법에 있어서 우변의 계산과 후진 대입의 계산을 생략하고 , 전진 소거를 하여 , 모든 Pivot 의 적을 구하면 된다 . 따라서 , 행렬식의 계산 순서는 다음과 같다 .
![Page 23: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/23.jpg)
![Page 24: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/24.jpg)
역행렬
•행렬 A 의 역행렬 이란 , 다음의 관계를 만족시키는 행렬이다 .
•여기에서 ,I 는 단위 행렬이다 . 역행렬의 계산은 , 식 (4.4) 로부터 구하는 것보다 , 소거법 등을 이용하는 편이 계산 횟수가 적게 든다 . 여기에서는 ,LU 분해에 따른 계산 방법을 서술한다 .
![Page 25: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/25.jpg)
• 은 미지이므로 X 라고 치환하면 , 식 (5.5)로부터 AX=I
•(5.6) 으로 나타내진다 . Doolittle 법의 LU 분해에 따라 A=LU 를 구하여 LY=I
•의 관계로부터 행렬 를 계산하고 , 계속해서 UX=Y
![Page 26: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/26.jpg)
•의 관계로부터 행렬 X 를 계산할 수 있다 . 여기에서 , 는 LY=I 의 관계로부터 대각 요소가 모두 1 인 하삼각행렬이 되고 ,
의 순서로 , 그리고 j 를 1 부터 n 까지라고 하면
![Page 27: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/27.jpg)
•으로 구해진다 . 또 , 는 의 순서로 , 그리고 j 를 n 부터 1 까지라고 하면
•으로 구해진다 . 또한 , Y 는 하삼각행렬이기 때문에 L 의 배열에 중복되며 , X 도 U 의 영역에 중복되어 , 이에 따라 배열 영역을 절약할 수 있다 . 나아가 , LU 분해의 결과를 A 에 중복시키면 , X 의 계산 결과도 A 에 중복시키는 것이 가능하다 . 단 , LU 분해에 있어서 Pivot 을 교환하는 경우는 , 그것에 대응하는 X 의 열교환이 필요하게 된다 . Pivot 교환이 있는 경우의 계산 순서를 서술하였다 .
![Page 28: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/28.jpg)
![Page 29: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/29.jpg)
III.2 3 원 연립방정식을 이용하여 Gauss 소거법의 알고리즘을 유도하라 .
![Page 30: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/30.jpg)
![Page 31: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/31.jpg)
III.3 다음의 3 원 연립방정식의 해를 Gauss 의 단순 소거법 및 Pivot 선택법을 이용하여 구하라 .
(1)
(2)
(3)
![Page 32: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/32.jpg)
![Page 33: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/33.jpg)
III.4 위의 3 원 연립방정식의 해를 교과서에서 제시된 C 및 Fortran 프로그램을 운영하여 구하라 .
![Page 34: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/34.jpg)
<Fortran 프로그램 >c < 주 프로그램 >implicit double precision (a-h, o-z)integer ierrparameter (max=8)dimension x(max), a(max, max), b(max)c *** 단계 1 자료 입력 ***write(6,*) 'Gauss 의 소거법에 따른 ax=b (a:n*n, x, b:n*1) 의 계산‘write(6,*) 'n='read(5,*) ncall s_inmg(a,n,n,'a')call s_inmg(b,n,1,'b')c *** 단계 2 Gauss 소거법의 계산 ***call s_gaus(x,a,b,n,ierr)c *** 단계 3 계산 결과의 표시 ***if(ierr.eq.1) thenwrite(6,*) ' 부정확 또는 불능 'stopend ifcall s_outm(x,n,1,'x')stopend
![Page 35: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/35.jpg)
c < Gauss 소거법의 subroutine >subroutine s_gaus(x,a,b,n,ierr)cc x : n * 1 방정식의 해 (out)c a : n * n 입력 행렬 (in/work)c b : n * 1 입력 벡터 (in/work)c n : scalar 방정식의 원래 해 (in)c ierr : scalar 에러 코드 0 : 정상 1 : 이상
(out)cimplicit double precision (a-h, o-z)dimension x(n), a(n,n), b(n)parameter (e_eps=1.0e-14)
![Page 36: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/36.jpg)
• c *** 단계 1 전진 소거 ***• do k=1,n-1• call s_pivo(a,lc,n,k,ierr)• if(ierr.eq.1) then• return• else if(lc.ne.k) then• tmp = b(k)• b(k) = b(lc)• b(lc) = tmp• end if• do i=k+1,n• p=a(i,k)/a(k,k)• do j=k+1,n• a(i,j)=a(i,j)-p*a(k,j)• enddo• b(i)=b(i)-p*b(k)• enddo• enddo
• c *** 단계 2 후진 대입 ***• do k=n,1,-1• if(abs(a(k,k)).le.e_eps)
then• ierr=1• return• end if• s=0.0• do j=k+1,n• s=s+a(k,j)*x(j)• enddo• x(k)=(b(k)-s)/a(k,k)• enddo• ierr=0• return• end
![Page 37: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/37.jpg)
• c < pivot 선택 ( 행의 교환 ) 의 subroutine >• subroutine s_pivo(a,m,n,k,ierr)• c a : n * n pivot 교환을 하는 행렬 (out/in)• c m : 스칼라 교체된 번호 (out)• c n : 스칼라 행렬의 크기 (in)• c k : 스칼라 pivot 의 선택의 열의 위치 (in)• c ierr : 스칼라 에러 코드 0 : 정상 1 : 이상 (out)• implicit double precision (a-h, o-z)• dimension a(n,n)• parameter (e_eps=1.0e-14)• c *** 단계 1 초기 설정 ***• m = k• d = abs(a(k,k))• c *** 단계 2 최대 pivot 의 탐색 ***• do i=k+1,n• if(abs(a(i,k)).gt.d) then• m = i• d = abs(a(i,k))• end if• enddo
![Page 38: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/38.jpg)
• c *** 단계 3 이상 처리 ***• if(abs(d).le.e_eps) then• ierr=1• return• else if(m.eq.k) then• ierr=0• return• end if• c *** 단계 4 pivot 의 교환 ***• do i=k,n• tmp = a(k,i)• a(k,i) = a(m,i)• a(m,i) = tmp• enddo• ierr=0• return• end
![Page 39: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/39.jpg)
• c < 행렬의 key 입력 subroutine >• subroutine s_inmg(a,n,m,name)• c a : n * m key 입력을 하는 행렬 (out)• c n : 스칼라 행의 크기 (in)• c m : 스칼라 열의 크기 (in)• c name : 1 문자 행렬의 이름 (in)• implicit double precision (a-h, o-z)• character name*1• dimension a(n,m)• write(6,*)• do i=1,n• if(m.eq.1) then• write(6,30) name, i• 30 format(a,'(',i2,') 의 입력 ')• else• write(6,10) name, i, name, i, m• 10 format(a,'(',i2,', 1)~',a,'(',i2,',',i2,') 의 입력 ')• end if• read(5,*)(a(i,j),j=1,m)• enddo• return• end
![Page 40: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/40.jpg)
• c < 행렬의 화면 표시 subroutine >• subroutine s_outm(a,n,m,name)• c a : n * m 화면 표시를 하는 행렬 (out)• c n : 스칼라 행의 크기 (in)• c m : 스칼라 열의 크기 (in)• c name : 1 문자 행렬의 이름 (in)• implicit double precision (a-h, o-z)• character*1 name• dimension a(n,m)• write(6,10) name• 10 format(1h,a,'=')• do i=1,n• write(6,20)(a(i,j),j=1,m)• 20 format(8f15.6)• enddo• return• end
![Page 41: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/41.jpg)
• <C 프로그램 >• #include<stdio.h>• #include<conio.h>• void main()• {• int i,j,k,h;• float l,m,n,o,p,q,r;• clrscr();• float A[3][4]={0, };• for(i=0;i<3;i++)• {• for(j=0;j<4;j++)• {• printf("Input number A[%d][%d]=",i,j);• scanf("%f",&A[i][j]);• }• }
![Page 42: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/42.jpg)
• for(j=3;j>=0;j--)• {• A[0][j]=A[0][j]/A[0][0];• }• l=A[1][0]/A[0][0];• m=A[2][0]/A[0][0];• for(k=1;k<2;k++)• {• for(j=0;j<4;j++)• {• A[k][j]=A[k][j]-A[0][j]*l;• A[k+1][j]=A[k+1][j]-A[0][j]*m;• }• }• for(j=3;j>0;j--)• {• A[1][j]=A[1][j]/A[1][1];• }• o=A[0][1]/A[1][1];• p=A[2][1]/A[1][1];• for(k=0;k<1;k++)
![Page 43: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/43.jpg)
• {• for(j=1;j<4;j++)• {• A[k][j]=A[k][j]-(A[1][j]*o);• A[k+2][j]=A[k+2][j]-(A[1][j]*p);• }• }• for(j=3;j>1;j--)• {• A[2][j]=A[2][j]/A[2][2];• }• q=A[0][2]/A[2][2];• r=A[1][2]/A[2][2];• for(k=0;k<1;k++)• {• for(j=2;j<4;j++)• {• A[k][j]=A[k][j]-(A[2][j]*q);• A[k+1][j]=A[k+1][j]-(A[2][j]*r);• }• }• for(i=0;i<3;i++)• {• for(j=0;j<4;j++)• {• printf(" %5.1f",A[i][j]);• }• printf("\n");• }• }
![Page 44: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/44.jpg)
III.6 4 원 연립방정식을 이용하여 LU 분해법의 알고리즘을 Doolittle 방법 및 Crout 방법에 대하여 유도하라 .
![Page 45: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/45.jpg)
![Page 46: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/46.jpg)
![Page 47: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/47.jpg)
![Page 48: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/48.jpg)
![Page 49: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/49.jpg)
![Page 50: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/50.jpg)
III.7 위의 3 원 연립방정식의 해를 LU 분해법으로 계산기와 Excel 을 이용하여 구하라 .
![Page 51: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/51.jpg)
![Page 52: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/52.jpg)
III.8 다음의 연립 1 차 방정식을 초기값 로서 Jacobi 법 , Gauss Seidel 법 , SOR 법으로 계산기 , Excel, 프로그램을 이용하여 구하라 .
![Page 53: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/53.jpg)
![Page 54: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/54.jpg)
![Page 55: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/55.jpg)
![Page 56: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/56.jpg)
![Page 57: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/57.jpg)
![Page 58: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/58.jpg)
IV.1 Derive the all the algorithms using graphs for the case of Bisection, Secant, and Newton Methods.
![Page 59: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/59.jpg)
![Page 60: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/60.jpg)
![Page 61: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/61.jpg)
![Page 62: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/62.jpg)
IV.2 Compile and run the given programs by using Visual Fortran, Visual Basic and Visual C Compilers.
![Page 63: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/63.jpg)
IV.3 Solve the example problems by hands, using Excel program, and by the given programs.
의 실근을 2분법 , 선형역보간법 , Newton 법으로 계산기 , Excel, 프로그램 (Fortran, Basic, C) 을 이용하여 구하라 . 단 , , , 으로 해라 . ( 실제값은 1 이다 )
![Page 64: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/64.jpg)
![Page 65: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/65.jpg)
![Page 66: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/66.jpg)
![Page 67: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/67.jpg)
IV.4 연립비선형방정식을 구하기 위한 Newton 법의 알고리즘을 Newton-Raphson 법의 알고리즘과 비교하여 유도하라 .
![Page 68: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/68.jpg)
• 6.2 Newton-Raphson 법 • ❖근을 구하는 공식들 중 가장 넓게 사용됨• (1) 초기 가정값이 라면• (2) 점 에 접하는 접선을 구할 수 있고• (3) 이 접선이 축과 교차하는 점 개선된 근• ❖그림 6.5: 1 차도함수의 기울기
• (6.5)• • (6.6) • • Newton-Raphson 공식
ix )](,[ ii xfx
x
1
0)()(
ii
i
i
xx
xfxf
)(
)(1
i
i
ii
xf
xfxx
![Page 69: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/69.jpg)
• 6.2.2 Newton-Raphson 법의 문제점 .
• Newton-Raphson 법은 매우 효율적이지만 제대로
수행되지 못하는 경우도 있다 .
• ( 예 6.5)Newton-Raphson 법의 사용시 느리게 수렴하는 함수의 예 .
• Newton-Raphson 법을 사용해서 의 양의
• 근을 구하라 . 초기가정은 한다 .
• (Sol.)
• ❖근의 참값 1 에 수렴은 하지만 수렴속도가• 매우 느림
910)( xxf 910
110
1
i
i
ii
x
xxx
1)( 10 xxf
5.0x
![Page 70: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/70.jpg)
• ❖Newton-Raphson 법이 수렴하지 않는 네 가지 경우
• ❖Newton-Raphson 법에 대한 일반적인• 수렴 판정의 기준은 존재 (X)
• ❖수렴 = 함수의 성질 & 초기가정의 • 정확도에 의존함 .
• ❖유일한 해결책 = • 근에 ‘’충분히’’가까운 • 초기 가정을 사용하는 것 .
• ❖훌륭한 초기가정 얻기• (i) 문제에 대한 물리적 이해• (ii) 해의 형태에 대한 정보를• 제공하는 그래프 사용 .
![Page 71: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/71.jpg)
IV.5 다음의 2원 연립 비선형 방정식의 해를 Newton 법에 이용하여 구하라 . 초기값은 , 이다 .
![Page 72: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/72.jpg)
![Page 73: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/73.jpg)
![Page 74: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/74.jpg)
VII.1 최소자승법을 이용하여 선형회귀분석을 수행하는 알고리즘을 BOD 분해능 계수를 추정하는 문제와 시계열 모형중 ARMA 모형의 선형 1 차모형 문제에 대하여 설명하라 ( 그림 포함 ). 선형회귀함수의 계수를 유도하라 .
![Page 75: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/75.jpg)
1) 물질이동식 및 해하천에서의 오염현상은 총체적인 개념으로 BOD 농도를 사용하여
해석하며 , 이러한 BOD 농도에 대한 물질이동식으로 해석한다 . 물질이동식은 유속에 의한 이류유송과 생화학적 분해 반응을 고려하면 다음의 편미분방정식으로 표현된다 .
여기서 , 평균 하천 유 속 (u) 은 유량을 단면적으로 나눈 값 (Q/A)이다 .
위의 식을 정상 상태의 상미분 방정식으로 표현하면 다음과 같다 .변수분리법으로 위의 상미분 방정식을 다음과 같이 풀 수 있다 . 위의 적분은 x=0 일 때의 Co 에서부터 하류 거리 x 일 때 농도 C
까지 설정되었다 . 적분하면 다음과 같은 식을 얻을 수 있다 . (1)양변에 지수를 취하면 , 다음과 같다 .여기서 , Co 는 원점 X=0 에서의 초기 농도이다 .
VII.1 최소자승법을 이용하여 선형회귀분석을 수행하는 알고리즘을 BOD 분해능 계수를 추정하는 문제와 시계열 모형중 ARMA 모형의 선형 1 차모형 문제에 대하여 설명하라 ( 그림포함 ). 선형회귀함수의 계수를 유도하라 .
![Page 76: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/76.jpg)
2) 반응계수 추정을 위한 선형회귀분석방법의 적용
(1)식을 농도와 이동 거리에 대한 식으로 정리하면 다음과 같다 .
이동 거리에 따라 측정된 BOD 농도 /초기농도에 ln 를 취하여 y축으로 이동거리 /유속을 x 축으로 설정하여 측정된 자료를 도시한다 . 이 도시된 그래프의 기울기는 이다 . 따라서 , 기울기가 BOD 분해능 계수이다 . 다음에 이러한 판정 기법의 예를 나타내었다 .
실험오차나 기타 오차에 의하여 측정된 값이 그래프에 정확히 일치하지 않는 경우에는 선형회귀분석 기법을 이용하여 그래프에 가장 일치하는 경우의 기울기를 구하면 된다 . Excel 의 메뉴에 있는 Regression( 상관분석 ) 을 사용하여 이러한 분석을 수행한 후 그래프를 도시하여 실측값과 계산치와의 비교 분석을 수행한다 .(r결과클릭 )
![Page 77: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/77.jpg)
VIII.1 막대공식 , 사다리꼴공식 , Sympson 공식의 수치적분법을 그림을 이용하여 설명하라 .
막대공식 : 를 구하는 것이 곤란한 경우가 있다 . 이러한 경우에는 , 수치
해석에 따라 근사값을 구하면 된다 . (클릭하면 그림 )
정적분은 X=a, X=b, y=f(x) 및 축으로 둘러싸인 면적을 의미한다 . 이것으로부터 , 구간 [a,b] 를 n 개의 등간격 의 소구간 으로 나누면 , 정적분은
로 정의할 수 있다 . 여기에서 , , 이다 . 이 정의로부터 , n 을 충분히 큰 유한의 정수라 하면 , 그림 8.1 에 보여지는 정적분의 근사값은
,
![Page 78: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/78.jpg)
![Page 79: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/79.jpg)
![Page 80: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/80.jpg)
VIII. 2 을 막대공식 , 사다리꼴 공식과 Sympson 공식으로 계산하고 ( 계산기 , Excel, Program 을 이용( 유체역학 교과서 부록에 있음 ), 실제값과 비교하라 . 단 , 세분 폭은 h=0.1 이라고 한다 .
![Page 81: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/81.jpg)
VIII. 2 을 막대공식 , 사다리꼴 공식과 Sympson 공식으로 계산하고 ( 계산기 , Excel, Program 을 이용 ( 유체역학 교과서 부록에 있음 ), 실제값과 비교하라 . 단 , 세분 폭은 이라고 한다 . ( 해 ) 의 값은
이다 . 사다리꼴 공식으로는Sympson 의 공식으로는가 된다 . 실제값은 이다 . 따라서 , 사다리꼴
공식의 오차는 , Sympson 공식의 오차는 이다 .
![Page 82: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/82.jpg)
VII.1 선형함수에 대하여 최소자승법을 이용하는 선형회귀분석 알고리즘을 유도 혹은 설명하라 .
![Page 83: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/83.jpg)
파라미터 이 함수 에 선형으로 나타나는 경우로
(7.15)
으로 표현할 수 있다 . 여기에서 , 는 X의
다항식 이거나 , 직교 다항식이다
VII.2 선형함수에 대하여 최소자승법을 이용하는 선형회귀분석 알고리즘을 유도 혹은 설명하라 .
![Page 84: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/84.jpg)
VII.2 ARMA 모형에서의 최소자승법을 설명하라 .
![Page 85: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/85.jpg)
VII.3 ARMA 모형에서의 최소자승법을 설명하라 .
![Page 86: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/86.jpg)
VIV.1 상미분방정식에 대한 다음의 해를 구하라 .
1) 다음의 상미분 방정식을 세분 폭 h=0.1 으로 x=0.5 까지 Euler 법 , 수정된 오일러법 , Runge-Kuttan 법으로 구하라 ( 계산기 , Excel, 프로그램 ).y'(x)=y y(0)=1.02) 위의 방정식을 3 단의 Adams-Bashforth 법 및 Adams-Moulton법으로 구하라 . 단 , 수정자 공식의 최대 반복 회수를 Nmax=4, 수렴 판정 정수를 ε=10^-7 이라고 한다 ( 계산기 , Excel, 프로그램 ).
![Page 87: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/87.jpg)
VIV.1 상미분방정식에 대한 다음의 해를 구하라 . 1) 다음의 상미분 방정식을 세분 폭 h=0.1 으로 x=0.5 까지 Euler 법 , 수정된 오일러법 , Runge-Kuttan 법으로 구하라 ( 계산기 , Excel, 프로그램 ).
Euler 법 :( 풀이 ) Euler 법으로 계산하면
이것으로부터 , 근사 값으로서 1.61051 을 얻는다 . 이 상미분 방정식의 해석 해는 이다 . 에서의 절대치 오차는가 된다 .
![Page 88: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/88.jpg)
수정된 오일러법 :( 풀이 ) 수정된 Euler 법으로 계산하면
이 상미분 방정식의 해석 해는 이다 . 에서의 절대 값 오차는 이다 . Euler 법보다 정밀도가 좋은 것을 알 수 있다 .
![Page 89: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/89.jpg)
Runge-Kuttan 법 :( 풀이 ) Runge-Kutta 법으로 계산하면 , 으로부터
가 된다 . 이후 을 초기 값으로 하여 이 계산을 반복하면
가 된다 . 이 상미분 방정식의 해석 해는 이므로 , 에서의 절대 값 오차는
이다 . 수정된 Euler 법보다 정밀도가 좋은 것을 알 수 있다 .
![Page 90: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/90.jpg)
2) 위의 방정식을 3 단의 Adams-Bashforth 법 및 Adams-Moulton 법으로 구하라 . 단 , 수정자 공식의 최대 반복 회수를 Nmax=4, 수렴 판정 정수를 ε=10^-7 이라고 한다 ( 계산기 , Excel, 프로그램 ).( 풀이 ) 계산 결과를 표에 보여 준다 . 계산 값은
이고 , 실제 값과 비교하면 오차는 이다 .
1
2
3
3
3
3
3
4
4
4
4
5
5
5
5
0.0000000
0.1000000
0.2000000
0.3000000
0.4000000
0.5000000
1
2
3
1
2
3
1
2
3
1.0000000
1.1051708
1.2214026
1.3498153
1.3498620
1.3498639
1.3498640
1.4917830
1.4918342
1.4918363
1.4918364
1.6486816
1.6487384
1.6487407
1.6487408
1.0000000
1.1051708
1.2214026
1.3498153
1.3498620
1.3498639
1.4917830
1.4918342
1.4918363
1.6486816
1.6487384
1.6487407
![Page 91: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/91.jpg)
VIV.2 수정된 Euler 법을 2 차의 Taylor 전개식으로부터 유도하라 .
![Page 92: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/92.jpg)
VIV.2 수정된 Euler 법을 2 차의 Taylor 전개식으로부터 유도하라 .
![Page 93: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/93.jpg)
VIV.3 외삽법과 내삽법의 알고리즘을 이용하여 다단법중 Adams-Basforth법과 Adams-Moulton 법의 알고리즘을 유도하라 .
![Page 94: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/94.jpg)
VIV.3 외삽법과 내삽법의 알고리즘을 이용하여 다단법중 Adams-Basforth 법과 Adams-Moulton 법의 알고리즘을 유도하라 .
![Page 95: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/95.jpg)
국소절단오차
2 3/2 -1/2
3 23/12 -16/12 5/12
4 55/24 -59/24 37/24 -9/24
5 1901/720 -2774/720 2616/720 -1274/720 251/720
![Page 96: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/96.jpg)
![Page 97: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/97.jpg)
![Page 98: Numerical Analysis Spring Semester 2011 Homework (part 1)](https://reader036.vdocuments.net/reader036/viewer/2022081420/56813699550346895d9e2c42/html5/thumbnails/98.jpg)
Adams-Moulton 법의 계수
국소 절단 오차
2 1/2 1/2
3 5/12 8/12 -1/12
4 9/24 19/24 -5/24 1/24
5251/7
20
646/7
20
-
264/720
106/70
6
-
19/720