ID:
PW:

     0 분
     7 분


무료 수학프로그램. SMath 강좌.


손으로 쓴 것처럼 표현하고 계산하는 프로그램.
프로그램 사이트 : http://en.smath.info


SMath 강좌 (5) 행렬 (1/2)
이석종  2014-12-26 00:16:23, 조회 : 2,435, 추천 : 193

SMath 강좌(5) Matrix 이번 강좌에서는 행렬(matrix)에 대해서 알아보도록 하겠습니다.

SMath에서는 matrix관련 툴바가 있습니다. 아래와 같이 6개가 있습니다.



(1) Matrix (Ctrl-M) : 행렬 입력하기, 행과 열 수를 입력하여 행렬을 입력
(2) Determinant : 행렬식을 구함.
(3) Matrix Transpose (Ctrl-L) :  전치행렬을 구함.
(4) Algebraic addition to matrix :  여인자(cofactor)을 구함.
(5) Minor :  소행렬식(minor)을 구함.
(6) Cross product : 두개의 3요소 행렬의 cross product를 계산.

우선 3x3행렬을 만들어보도록 하겠습니다. matrix 툴바를 이용하거나
Ctrl-M을 눌러서 행렬을 만들 수 있습니다. c행렬을 만들기 위해서 c를
입력한 후에 :를 눌러 c:=까지 만들고 난 후에 Ctrl-M을 누르거나 matrix툴바를
누르면 아래와 같이 행렬의 크기를 물어보는 창이 뜹니다.



3x3행렬을 만드는 것이므로 행[Rows]과 열[Columns]을 3으로 설정한 후 [Insert]를
누릅니다. 아래와 같이 9개의 숫자를 넣을 수 있습니다. 숫자를 모두 입력합니다.

 

이제 c는 행렬로 정의가 되었습니다.

이번에는 3x1 행렬을 정의해보도록 하겠습니다. Ctrl-M을 누르고 행을 3으로 열을 1로
설정해서 행렬을 만들면 간단합니다. u행렬과 v행렬을 아래와 같이 설정했습니다.

  

행렬의 크기를 변경할 수 있습니다. 정의된 행렬을 선택한 후 드래그해서 크기를 변경합니다.
아래 왼쪽 그림과 같이 행렬 내부를 클릭하면 오른쪽 하단에 검은 사각형이 표시됩니다.
검은 사각형을 드래그 하면 행렬의 크기를 변경할 수 있습니다. 오른쪽 그림은 기존의 3x3행렬을
드래그하여 4x5행렬로 바꾸는 그림입니다.

 

이제 c의 행렬식(determiant)를 구해보겠습니다. 툴바 를 사용하는 방법은 툴바를 선택하고
c를 입력해주면 됩니다. 아래와 같이 c행렬의 행렬식은 24로 나왔습니다.


함수를 이용할 수도 있습니다. SMath의 대부분의 기능은 함수로 이루어져있습니다. determiant의
함수명은 det입니다. 아래와 같이 det를 입력하면 det함수에 관한 설명이 뜹니다.


Tab키를 누르면 툴바를 눌렀을 때와 마찬가지로 됩니다. c를 입력해주면 결과는 같습니다.

행렬식을 구하는 방법은 여러가지가 있지만 아래의 방법으로 검산을 해보겠습니다.

 

식이 너무 길어지므로 양수부분과 음수부분을 나누어서 각각 c1과 c2로 구한 후 c1-c2를
계산해보면 결과가 24로 나오는 것을 확인할 수 있습니다. |c|로 구한 값과 일치합니다.



참고로 여기에서 c행렬의 1행1열의 값을 구하는 방법은 행렬이름을 입력한 다음에 [를 입력한후
행값을 입력한 후 ,를 입력하고 열값을 입력하면 됩니다.

즉 c[1,1이라고 입력하면 와 같이 행번호, 열번호가 아래첨자로 처리됩니다.

다음은 전치행렬 구하기 입니다. 툴바를 누르면 아래와 같이 행렬이름을 입력받을 준비가 됩니다.

행렬이름 c를 입력하면 c행렬의 전치행렬이 구해집니다. 전치행렬은 행과 열을 바꾼 행렬입니다.

툴바를 이용하지 않고 함수명을 이용하는 방법은 함수명 transpose를 입력합니다. trans까지만
입력해도 SMath가 자동으로 함수명을 찾아줍니다.



다음은 입니다. M을 먼저 설명하는 것이 맞을 것 같습니다. M은 minor의 약자로 소행렬식입니다.
즉 정방행렬의 i행과 j열을 제외한 행렬의 행렬식입니다. 툴바를 선택하면 아래와 같이 행렬이름과
행,열의 번호를 입력받을 수 있도록 됩니다.


()안에 c를 입력하고 M옆의 아래첨자로 되어있는 곳에 각각 행과 열 값을 입력합니다. 2와 2를 입력하고
=을 입력하면 아래와 같이 -20이라는 결과를 보여줍니다.

검산을 해보면 c행렬중 2행2열을 제거하고 나머지의 행렬식으로 아래와 같이 -20의 결과를 보여줍니다.


다음은 여인자(cofactor)입니다. Minor와 마찬가지로 툴바를 선택하고 행렬이름과 행,열값을 입력합니다.
툴바 대신 함수명을 쓰려면 alg를 입력하면 아래와 같이 설명을 볼 수 있습니다. 함수 설명에는 Cofactor
(algebraically signed minor) of matrix라고 되어있습니다.

예제 행렬 c의 여인자 결과는 아래와 같이 -20으로 나왔습니다.

여인자의 정의에 따라 검산을 해보면 아래와 같습니다.


다음은 cross product(벡터의 외적)입니다. cross product는 두개의 3행1열에 대해서만 연산이 가능합니다.
위에서 정의한 u와 v를 이용해서 uxv를 구해보겠습니다.
u를 입력한 후에 를 선택하면 수식을 완성할 수 있습니다.
 
cross product는 아래와 같이 정의되며


이 공식을 이용하여 아래와 같이 풀어서 cross product를 구해보면 uxv로 구한 값과 같음을 알 수 있습니다.



이번 강좌에서는 cross product까지 하고, 다음에 역행렬 등 행렬의 나머지 부분을 진행하도록 하겠습니다.
행렬은 각종 공학문제를 푸는 데 뿐만 아니라 추후에 테이블 기능 등을 이용하기 위해서는 자세하게 알아야
할 부분이 많아서 2회로 나눠서 진행하도록 하겠습니다.



  추천하기   목록보기

번호 제목   작성자 작성일 조회
7  SMATH업데이트. SMath Studio 0.97.5737 available    이석종 2015/09/28 1694
6  SMath 강좌 (6) 행렬 (2/2)  [1]  이석종 2014/12/28 3049
 SMath 강좌 (5) 행렬 (1/2)    이석종 2014/12/26 2435
4  SMath 강좌 (4) 그래프  [140]  이석종 2014/12/23 116048
3  SMath 강좌 (3) 단위사용하기    이석종 2014/12/16 1759
2  SMath 강좌 (2) 수식 정의 및 편집    이석종 2014/12/16 1465
1  SMath 강좌 (1) 소개 및 설치    이석종 2014/12/16 2487

    목록보기 1
       

Copyright 1999-2018 Zeroboard / skin by zero
구조설계의 미래를 준비하는 모임 [구조설계미래포럼]