\n");     printf ("B \n");     for (i=0 ; i<2 ; i++){         for (j=0 ; j<2 ; j++){             printf (" % lf", b[i][j]);         }         printf ("\n"); } /* < 주 프로그램 > */ #include #include   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]);         }     }                                       "> \n");     printf ("B \n");     for (i=0 ; i<2 ; i++){         for (j=0 ; j<2 ; j++){             printf (" % lf", b[i][j]);         }         printf ("\n"); } /* < 주 프로그램 > */ #include #include   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]);         }     }                                       ">

Presentation is loading. Please wait.

Presentation is loading. Please wait.

역행렬 구하는 프로그램 C와 Fortran 환경공학과 20041483 천대 길.

Similar presentations


Presentation on theme: "역행렬 구하는 프로그램 C와 Fortran 환경공학과 20041483 천대 길."— Presentation transcript:

1 역행렬 구하는 프로그램 C와 Fortran 환경공학과 천대 길

2 C를 이용한 2×2 역행열의 계산 /*** 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"); } /* < 주 프로그램 > */ #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]);         }     }                                       

3 <역행렬 실행한 장면> - C -

4 Fotran을 이용한 역행열의 계산 c *** step 3 에러 처리 ***
        if(d.eq.0.0) then             write(6,*) '행렬이 정칙이 아닙니다 '             stop         end if c  *** step 4 역행렬 계산 ***         b(1,1)=a(2,2)/d         b(1,2)=-a(1,2)/d         b(2,1)=-a(2,1)/d         b(2,2)=a(1,1)/d c  *** step 5 결과의 출력 ***         write(6,*) '<해>'         write(6,*) 'B='         do i=1,2             write(6,20) (b(i,j), j=1,2)   20        format(f10.5,f10.5)         enddo         stop         end c <주 프로그램> implicit double precision (A- H, O-Z) dimension a(2,2), b(2,2) c a(2,2) : 2×2 입력행렬 c b(2,2) : 2×2 출력행렬 c d : a의 행렬식 c *** step 1 자료의 입력 *** write(6,*) '2×2 행렬의 역행렬 계 산. ' write(6,*) do I=1,2 do J=1,2 write(6,10) i,j 10 format('a', i1, i1, '=') read(5,*) a(i,j) enddo enddo c *** step 2 행렬식의 계산 *** d=a(1,1)*a(2,2)-a(1,2)*a(2,1)

5 <역행렬 실행한 장면> - Fortran -


Download ppt "역행렬 구하는 프로그램 C와 Fortran 환경공학과 20041483 천대 길."

Similar presentations


Ads by Google