●Determinant (행렬식) = det(M)

 ▷ 정방행렬 (n × n)에서 정의되는 스칼라 값.

 ▷ Matrix가 singular인지 아닌지를 알려주는 값. (0일때 singular이다.)

 ▷det(AB) = det(A)det(B) (A, B가 같은 크기에서)

 

 ▶행렬식 구하는 방법

  ▷2 × 2 : ad - bc

  ▷3 × 3 : 오른쪽 아래 대각선 - 왼쪽 아래 대각선

  ▶n × n

   ▷n × n 행렬 A에 대해서 M_ij :  A에서 i행과 j열을 삭제한 n-1 × n-1 행렬

   ▷A_ij(A의 원소 아님) = (-1)^(1+j) × det(M_ij)

   ▷det(A) = a_i1(A의 원소)A_i1 + (a_i2)(A_i2) + ... + (a_in)(A_in)

      det(A) = a_1j(A의 원소)A_1j + (a_2j)(A_2j) + ... + (a_nj)(A_nj)

    ▷(i!=j) -> 0 = a_i1(A의 원소)A_j1 + (a_i2)(A_j2) + ... + (a_in)(A_jn)

   ▷어떤 행/열을 선택해도 값은 같으므로 0이 최대한 많은 행/열을 선택하는게 좋다.

   ▷모든 요소가 0인 행/열이 있으면 det(A) = 0

   ▷det(A) = det(A^T)

   ▷triangular Matrix (lower or Upper),

     det(A) = (a_11)(a_22) ... (a_nn) : 대각요소의 곱

 

▶Row operation과 determinant (A -> B 에서)

 ▷Elimination -> 변화 X

  ▷det(E_e) = 1

 ▷Scaling -> det(B) = k×det(A) --> det(A) = 1/k×det(B)

  ▷det(E_s) = k

 ▷Interchange -> det(B) = -det(A)

  ▷det(E_k) = -1

 

'수학 > 공학선형대수학' 카테고리의 다른 글

Vector Space  (0) 2020.06.22
Adjoint of Matrix  (0) 2020.06.21
Elementary Matrix, LU Factorization  (0) 2020.06.20
행렬(Matrix) 기초  (0) 2020.06.19
가우스 소거법  (0) 2020.03.19

●Elementary Matrix (E)

 ▷Identity Matrix (I) 에서 단 한 번의 elementary row operation을 시행한 Matrix

 ▷E를 다른 Matrix에 곱하면(EA) A에서 해당 elementary row operation을 한 것과 같다.

 ▷행렬 A에 여러 Elementary Matrix를 곱한 것 ( (E_k)(E_k-1) ... (E_1)A ) 은 A와 equivalent하다.

 ▶Inverse operations (elementary row operation의 Inverse) : 또한 elementary row operation이다.

  ▷Elimination : R_i - cR_j -> R_i  (R_j에 대한 Scaling임을 주의)

  ▷Scaling : 1/cR_i -> R_i

  ▷Interchange : R_i <-> R_j

 

 

●LU Factorization : m × n 행렬을 m × m lower triangle 행렬L 과 m × n upper triangle 행렬U로 분해하는 과정

 ▷A = LU / Ax = b -> Ly = b, Ux = y

 ▷연립방정식을 간단하게 풀 수 있다.

 ▷U, L을 구하는방법

  U = (E_k) ... (E_1)A (위의 삼각형 형태, 오직 eliminations만 사용한다.) / A = (E_1^-1) ... (E_k^-1)U = LU

  ▷L = (E_1^-1) ... (E_k^-1)

  ▷Interchange가 필요하다면, 필요한 Interchange를 모두 행한 행렬 (PA)를 대상으로 LU Factorization을 행한다.

     PAx = LUx = Pb

 

'수학 > 공학선형대수학' 카테고리의 다른 글

Adjoint of Matrix  (0) 2020.06.21
행렬식 (Determinant)  (0) 2020.06.21
행렬(Matrix) 기초  (0) 2020.06.19
가우스 소거법  (0) 2020.03.19
선형 시스템 (Linear System) 기초  (0) 2020.03.19

 

 

행렬 기본 개념

● 행렬 : 여러 숫자나 문자를 정사각형 또는 직사각형으로 배열한 것. 배열한 숫자나 문자를 그 행렬의 성분 또는 원소라고 하고, 가로로 배열된 원소를 행, 세로로 배열된 원소를 열이라고 한다.

 ▷m × n 행렬 : m개의 행, n개의 열을 가진 행렬

 ▷a_ij : i번째 행, j번째 열의 요소(element) 

 

▶Matrix Arithmetic

 ▷Equality (A=B) : 모든 요소(a_ij)가 같다.

 ▷Scalar Multplication (A = cB) : 모든 요소에 c를 곱한다. (a_ij = c×b_ij)

 ▶Matrix Multiplication (C = AB) : C의 요소는 a의 행과 b의 열을 곱한 것과 같다.

  ▷A : m × n, B : n × r --> C : m × r

  ▷c_ij = a의 i행 × b의 j열

  ▷AB != BA (주의)

  ▷AB = AC (또는 BA = CA)에서 A = C라는 보장은 없다.

 ▶Matrix Transpose (전치) : 행렬의 행과 열을 서로 바꾼다.

  ▷A^T : A의 전치행렬

  ▷B = A^T일 때, B : n × m, A : m × n / b_ij = a_ji

  ▷symmetric : A^T = A인 n × n 행렬

  ▷(AB)^T = (A^T)(B^T)

 

▶Identity Matrix (단위 행렬) : 모든 대각요소가 1인 n × n 행렬, (I라고 쓴다)

 ▷IA = AI = A

 ▷I = [ e_1 e_2 e_3 ... ] (e : Standard Basis) 

 ▷A^2 = I 에서 A = I라는 보장이 없다.

 

▶Inverse Matrix (역행렬) : 행렬과 곱하면 단위 행렬이 되는 행렬 , 한 행렬에 대해 유일하다.

 ▷A의 역행렬 : A^-1 

 ▷B = A^-2 --> AB = BA = I

 ▷(cA)^-1 = (1/c)A^-1 / A = (A^-1)^-1

 ▶singular (특이행렬) : 역행렬이 존재하지 않는 행렬

  ▶singular와 동일한 조건

   ▷determinant(행렬식)이 0이다.

   ▷Square Matrix인 Ax = nontrivial solution (!=0)을 가진다.

   ▷열 벡터들이 linear dependent하다.

 ▶nonsingular = invertible : 역행렬이 존재하는 행렬 (n × n)

  ▷행렬 A, B가 nonsingular -> AB도 nonsingular

  ▷invertible 하다면, AB = AC (또는 BA = CA)에서 A = C이다.

  ▶Invertible과 동일한 조건 ( <=> )

   ▷determinant(행렬식)이 0이 아니다.

   ▷Ax = 0에서 trivial solution(0) 만을 가진다.

   ▷Ax = b에서 b가 어떤 n-벡터이든지 오직 하나의 해(->하나 이상의 해)를 가진다.

   ▷I 과 equivalent하다.

   ▷모든 열/행이 pivot column이다.

   ▷det(A^-1) = 1/det(A)

 ▶Matrix Inversion 구하는 과정

  ▷행렬 [ A : I ] 를 Reduced row echolen form으로 만든다. -> [ B : C ]

  ▷B에서 0인 행이 존재한다면 singular 이므로 구할 수 없다.

  ▷[ B : C ] 를 [ I : A^-1 ]로 만든다.

 

▶Matrix Partition : Matrix를 여러 개로 나누는 것.

 ▷C(n × m) = [C_1(n × m_1) C_2(n × m_2)] -> m_1 + m_2 = m

 ▷C(n × m) = (C_1(n_1 × m) C_2(n_2 × m)) -> n_1 + n_2 = n

'수학 > 공학선형대수학' 카테고리의 다른 글

Adjoint of Matrix  (0) 2020.06.21
행렬식 (Determinant)  (0) 2020.06.21
Elementary Matrix, LU Factorization  (0) 2020.06.20
가우스 소거법  (0) 2020.03.19
선형 시스템 (Linear System) 기초  (0) 2020.03.19

●아날로그(Analog) 데이터

 ▷연속적인(continuous) 데이터

 ▶디지털과 비교

  ▷장점 : 원본 데이터에 충실하다.

  ▷단점 : 노이즈에 약하다. 온도 특성이 나쁘다. 데이터 처리가 복잡하다.

 ▶Analog to Digatal 컨버팅

  1. 필터링(Filtering) : 본래 신호를 정확히 표본화 하기 위해 잡음 등의 신호를 차단하는 것.

  2. 표본화(Sampling) : 아날로그 파형을 디지털 형태로 변환하기 위해 표본을 취하는 것.

   ▷표본화율 : 1초동안 취한 표본수 (Hz). 높을수록 본래 신호 특성을 잘 유지할 수 있지만, 데이터 양이 많아진다.

   ▷나이퀴스트 정리 : 최대 주파수성분이 f_max인 아날로그 신호는 적어도 2*f_max이상의 표본화율로 샘플링할 경우, 원신호를 완전히 복원할 수 있다. -> 나이퀴스트 주파수 : 2*f_max

  3. 양자화(Quantization) : 표본화에서 얻어진 수치(y축)를 n개의 레벨로 분해한 뒤, 샘플값을 근사시키는 것. -> 정밀도

  4. 부호화(Coding) : 양자화된 값을 비트로 변환하는 것.

 

○Arduino 아날로그 데이터 입력

 ▷ATmega2560에는 16채널의 10비트 해상도(0~1023 -> 0~5V) 아날로그-디지털 변환기가 포함되어 있음

 ▷A0~A15(디지털54~69)

 ▷하나의 아날로그-디지털 변환기를 공유하므로 동시에 여러 채널 사용은 불가능함.

 ▶Pulse-Width Mpdulation(PWM)

  ▷아날로그 신호를 디지털화 하여 인코딩하는 방법

  ▷일정한 주기에서 정사각파의 0, 1부분의 비율(1의 비율 0~100%->dutyCycle)을 조정하여 0~5V의 아날로그 값을 입력함

  ▷PWM은 디지털 신호의 일종이지만, 출력 함수가 analogWrite이므로 흔히 아날로그 데이터 출력으로 불린다.

  ▷디지털 2~13번, 디지털 44~46번이 PWM신호를 출력 가능함.

 

※가변저항 연결

가변저항 연결

 ▶위에서 본 기준으로

  ▷왼쪽 : GND / 중앙 : 출력핀 / 오른쪽 : VCC

 

※RGB LED연결

RGB LED 연결

 ▶헤드를 위로 눕혀서 봤을때 기준으로

  ▷가장 왼쪽(1번째) : R / 2번째 : VCC / 3번째 : G / 4번째 : B

  ▷GND가 없음에 주의

  ▷공통 양극 방식이므로, analogWrite(0)에서 최대 밝기, analogWrite(255)에서 최소 밝기 임에 주의

 

◎analog데이터 입출력 함수

 ▷analogRead (pin번호) : pin에서 아날로그 값을 읽어온다. (0~1023)

 ▷analogWrite (pin번호, 0~255사이의 dutyCycle) : pin에서 PWM으로 아날로그 데이터를 출력한다.

 ▷analog Reference (모드) : 기준 전압을 설정한다. DEFAULT(5V) / INTERNAL(1.1V)->ATmega2560사용 불가 / INTERNAL1V1(1.1V)->ATmega2560에서만 사용 / INTERNAL2V56(2.56V)->ATmega2560에서만 사용 / EXTERNAL(AREF핀에 인가된 0~5V) 

'컴퓨터 지식 > 아두이노' 카테고리의 다른 글

디지털 입력 - 버튼  (0) 2020.06.12
String 클래스  (0) 2020.06.12
디지털 출력 (LED)  (0) 2020.06.12
Arduino IDE 기초  (0) 2020.06.12
아두이노  (0) 2020.06.12

● 버튼

 ▷On : 1(VCC) / Off : 0 (GND)

 ▷Off에서 아무런 회로가 연결되어있지 않으면 주변 핀의 상태, 정전기 등의 영향을 받을 수 있기 때문에 회로가 오픈괴는 경우를 피해야 함. -> 풀다운 저항의 사용

 ▷풀다운 저항 : 스위치가 오픈인 경우, 입력핀이 저항으로 GND와 연결되어 있음 -> 누르지 않으면 0, 누르면 1

풀다운 저항 버튼 연결

 ▷풀업 저항 : 스위치가 오픈인 경우, 입력핀이 저항으로 VCC와 연결되어 있음 -> 누르지 않으면 1, 누르면 0 (직관적인 동작과 반대)

풀업 저항 버튼 연결

 ▷풀업 저항의 경우, pinMode(pin번호, INPUT_PULLUP)으로 마이크로컨트롤러 내장 풀업 저항을 사용 가능

 ▷바운싱, 채터링 : 기계적인 진동에 의해 버튼을 누를 때 On/Off가 반복해서 나타나는 것. -> 디바운싱을 통해 없앰.

'컴퓨터 지식 > 아두이노' 카테고리의 다른 글

아날로그 데이터 입출력  (0) 2020.06.12
String 클래스  (0) 2020.06.12
디지털 출력 (LED)  (0) 2020.06.12
Arduino IDE 기초  (0) 2020.06.12
아두이노  (0) 2020.06.12

+ Recent posts