CAFE

Numerical Analysis

[[강좌]]**매트랩의 특이한 역행렬 계산(Pseudoinverse)**<<중요>>#1

작성자블루마운틴|작성시간02.10.23|조회수1,577 목록 댓글 0
일반적 의미에서 역행렬이라고 하는것은
Ax=b의 선형 시스템에서 이 방정식을 만족하는 x의 해를 찾기위해서
양변에 inv(A)를 취하여 x를 찾습니다.

이때 역행렬 inv(A)는 n by n 의 정방 행렬일 경우에만(det~=) 존재하는 걸로 다들 알고 있슬겁니다.

여기서 약간 심화된 수학문제를 다루기로 하져..

물론 저도 잘 몰랐던 내용이었는데... 임용수님의 인터넷 강의교재에 나와있는 내용을 보고 공부를 해서 올립니다.
물론 용수님도 이 부분을 정확히 짚고 넘어가지를 않았더군여..

우리가 일반적으로 아는 선형방정식의 해는 exactly determined(m=n): m
by n matrix 일 경우 입니다.(고등학교때 배운거죠)

Pseudoinverse를 설명하기 이전에 공부를 합시다.

1. m>n : overdetermined (해가 무수히 많은 경우)
2. m=n : exactly determined (유일해)
3. m<n : underdetmined (해가 존재하지 않는 경우)

우리가 잘 알고 있는 선형연립방정식과 역행렬의 관계가 2번의 경우져..

여기에서 1번의 경우를 다루는 것이 이 시간에 하고자 하는 내용입니다.

Pseudoinverse(의사 역행렬)은 미지수에 비해 방정식이 많은 때, 우리는 last squares soultion을 구합니다. 이때 마치, 역 행렬과 같은 기능을 하는 행렬이 만들어 지는데 이 행렬을 의미합니다. 이 행렬은 overdetermined system의 해를 구하는 데 필요한 행렬입니다.

자~~` 그럼 왜 제가 이시간에 Pseudoinverse(의사 역행렬)을 소개 했느냐!!

매트랩에서 역행열을 계산 할때... Pseudoinverse(의사 역행렬)을 바로 이용하여 연산을 합니다. 벡터 나눗셈에서..

>>C=[1 2 3]
>>D=[2 3 4]
>>X=C/D
ans
X=0.6897

**벡터 대 벡터의 나눗셈이 가능한가??? 의문이져??
그러나 매트랩에서는 계산이 가능하니깐 답이 위처럼 나왔겠져.. ㅎㅎ
행렬간의 나눗셈은 벡터 "D"가 역행렬을 가져야 하지만. "D"는 벡터로 역행렬을 가질 수 없습니다. 그런데 계산결과가 X=0.6897이라고 나왔져.!!

그 이유가 무엇 일까여???

**매트랩에서는 "D"의 역행렬을 구한것이 아니라 Pseudoinverse(의사 역행렬)를 구하여 계산산 결과를 ans에다가 출력한겁니다.

Pseudoinverse(의사 역행렬)이 녀셕은 시간 관계상 나중 저녁에 올리져.. 이해 하시고 이 글을 보신분은 나중에 꼭 다시 보세여..



다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼