수치해석 3장 연습문제
- 최초 등록일
- 2009.07.04
- 최종 저작일
- 2009.04
- 30페이지/ MS 워드
- 가격 1,500원
소개글
한양대 기계공학부 수치해석 3장 숙제(일부)
목차
4번
6번
7번
8번
9번
11번
22번
본문내용
4. 다음의 연립방정식을 Gauss소거법을 사용하여 다음 물음과 같은 방법으로 풀어라.
(0.00005x_1+2x_2=1.33335)¦(3x_1+18x_2=13)
(a)부분 피봇팅을 실시하지 않고 풀어라.
(b)부분 피봇팅을 실시하여 풀어라.
부분 피봇팅은 컴퓨터의 마무리오차를 줄이는 데서 시작한다. 따라서 부분 피봇팅을 실시하지 않고 풀면 유효숫자의 자릿수에 따라 영향을 많이 받는다.
================================C code=======================================
#include <stdio.h>
#include <math.h>
#include <windows.h>
void main()
{
LARGE_INTEGER start, end, freq;
QueryPerformanceFrequency(&freq);
QueryPerformanceCounter(&start);
long double a[2][3]={{0.00005,2,1.33335},{3,18,13}};
long double b[2][3]={{3,18,13},{0.00005,2,1.33335}};
long double x1, x2;
int i;
for (i=0;i<=2 ;i++ )
{
a[0][i]=a[1][0]/a[0][0]*a[0][i];
a[1][i]=a[0][i]-a[1][i];
}
x2=a[1][2]/a[1][1];
x1=(a[0][2]-a[0][1]*x2)/a[0][0];
printf("Not Pivoting\n\n");
printf("x1=%.0f x2=%.0f\n",x1,x2);
printf("x1=%.1f x2=%.1f\n",x1,x2);
printf("x1=%.2f x2=%.2f\n",x1,x2);
printf("x1=%.3f x2=%.3f\n",x1,x2);
printf("x1=%.4f x2=%.4f\n",x1,x2);
참고 자료
없음