trapezoidal rule,Simpson's 1/3 Rule 예제풀이 및 코딩소스
본 자료는 3페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
해당 자료는 3페이지 까지만 미리보기를 제공합니다.
3페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

trapezoidal rule,Simpson's 1/3 Rule 예제풀이 및 코딩소스에 대한 보고서 자료입니다.

목차

trapezoidal rule
Simpson's 1/3 Rule

본문내용

and Simpson's Rules" << "\n";
cout << "\n" << "Number of data : ";
cin >> n;
cout << "Input the data of x : " ;
for(i=0;i cin >> x[i] ;
cout << "Input the data of f(x) : " ;
for(i=0;i cin >> f[i] ;
double sum = 0.;
double ea;
double h=x[1]-x[0];
double k=1;
double hf;
for(i=0;i<=n-1;i++)
{
hf=x[i+1]-x[i];
if(hf<0.000001)
{
if(k==3)
{
sum=sum+2*h*(f[i-3]+4*f[i-2]+f[i-1])/6;
k=k-1;
}
else
{
k=k+1;
}
}
else
{
if(k==1)
{
sum=sum+h*(f[i-1]+f[i])/2;
}
else
{
if(k==2)
{
sum=sum+2*h*(f[i-2]+4*f[i-1]+f[i])/6;
}
else
{
sum=3*h*(f[i-3]+3*(f[i-2]+f[i-1])+f[i])/8;
}
k=1;
}
}
h=hf;
}
ea=((0.7912405-sum)/0.7912405)*100;
cout << "\n";
cout << " The result of the integration I = " << sum << "\n";
cout << " The exact value of the integral is 0.7912405 " << "\n";
cout << "error = " << ea <<"%"<<"\n";
return ;
}
◆ Problem 22.2
Use order of h8 Romberg integration to evaluate
Compare εa, εt .
◆ Problem 22.8
Employ two - through six-point Gauss - Legendre formulas to solve
interpret your results in light of Eq.(22.26).
◎ Comments ◎
Gauss quadrature 의 한 방법인 Gauss-Legendre formula를 이용해서 위 적분을 구하였다. Trapezoidal rule에서와 같이 two point를 연결하는 직선으로, 함수를 근사하여 적분을 하지만 Gauss-Legendre formula는 적분구간이 two point에 closed 돼있지 않고 범위를 확장하여 positive, negative error를 통해 더 정확한 적분 값을 얻을 수 있다.
Gauss-Legendre formula를 two point 사이에서 적용할 때, 적절한 조치가 필요하다. 먼저 적분구간을 -1에서 1사이로 바꿔주고, 원래 함수의 변수 x를 적분구간 끝점들의 수식으로 이루어진 계수와 xd 의 함수로 바꿔주어야 한다. [x=(b+a)/2 + (b-a)/2 * xd].
그리고 xd에 function arguments를 각각 대입하여 그 값들을 더해서 최종 적분값을 구할 수 있다. 책에서 주어진 table에 의해 two-point ~ six-point 의 각각의 경우의 적분값을 구해보았다. Trapezoidal rule을 사용했을 때 적분구간을 다수의 segment로 나눴을 때 true value에 근사한 값을 구할 수 있는데 비하면 Gauss-Legendre formula은 훨씬 효율적임을 알 수 있다.
◎ Comments ◎
Romberg integration을 통해 문제의 적분을 수행하고자 한다. Romberg integration은 일반적으로 다음과 같이 나타낼 수 있다.
O(h2)는 multiple-application의 segments n = 1,2,4,8을 적용해 Trapezoidal rule을 통해 구해진 값이다. 이 값을 적절히 이용해 다음 order의 I값을 더 적은 오차를 갖도록 구할 수 있다. 첫 번째 O(h2)의 경우, 기존의 프로그램으로 구했고, 위의 식을 통해 O(h8)까지 실행하였다. order가 증가할수록 오차[ ]가 약 26%에서 0.3 %, 0.0015 %로 상당히 빠르게 감소하고 있음을 보인다.
O(h8)의 오차는 0.001583 %로 왼쪽의 프로그램으로 실행한 Trapezoidal Rule의 segments가 100일 때보다 훨씬 작은 값이다. 이것으로 Romberg integration이 상당히 유용하게 사용될 수 있음을 확인할 수 있었다.
  • 가격1,500
  • 페이지수9페이지
  • 등록일2008.06.25
  • 저작시기2008.3
  • 파일형식한글(hwp)
  • 자료번호#471705
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니