-
5-1. (Matlab) 알아두면 유용한 매트랩, 행렬 인덱스(indexing) 응용2) Tech 2020. 3. 22. 20:32반응형
안녕하세요!!
오늘은 지난 행렬 인덱스(indexing) 게시물에 이어 행렬 인덱싱의 간단한 응용을 공유해볼까합니다!
1.행렬 인덱싱 응용
먼저 Matlab에서 3x3 행렬 하나를 생성합시다.
A = [1,2,3; 4,5,6 ; 7,8,9]
(1 2 3)
(4 5 6)
(7 8 9) 3x3 행렬 생성
인덱스에 접근하기전!!
지난 시간 행렬의 인덱스 접근 할 때 한가지만 기억하면 된다고 말씀드렸습니다!
A(접근 행, 접근 열)
- 열 전체 Indexing
해당 행렬에서 원하는 열의 전부를 추출하고 싶다면
아래 그림과 같이 행은 1~n 까지 즉, 모든 행을 접근해야합니다.
y = A( : , 2) -> 괄호 안에 ':' 는 모든 행 접근을 의미합니다. 뒤에 숫자 2는 접근 열번호를 의미합니다.
- 행 전체 Indexing
반대로 행전체 추출은 모든 열에 접근해야합니다.
위그림과 같이 n 번째 행을 추출하려면, n번째 행과 1~n까지 열에 접근해야합니다.
y = A(3, :) -> 괄호 안에 ':' 는 모든 열 접근을 의미합니다. 앞에 숫자 3는 접근 행 번호를 의미합니다.
- 열 & 행 Indexing 응용
Matrix( , )
특정행렬의 행과 열은 ',' 로 구분된다고 했습니다.
그럼,
A 행렬의 1행 2,3열 값과 3행 2, 3열의 값을 동시에 추출하고 싶습니다!
이땐 ( ) 안에서 []괄호를 이용해 행과 열을 묶어줍니다.
z = A([1,3], [2,3]) -> ( [ 1행, 3행] , [2열, 3열 ] ) 이와 같은 의미입니다.
B = A(end:-1:1, :) -> end는 해당 행렬의 맨 끝 행 또는 열을 의미합니다.이는 끝행 부터 시작 해서 -1씩 다음행에 접근해 각 행을 추출해서 쌓는 표현이라고 보시면됩니다.
보시면 B의 1행이 A의 3행의 값을 나타내고 있습니다.
'end'로 마지막 행부터 쌓아 행의 위치를 바꿔봤습니다!
- 행렬 결합
마지막으로 두 행렬의 조합으로 새로운 행렬을 만들어보겠습니다!
A = [1,2 ; 3,4]; // 2X2 행렬 생성
b = [5, 6]; // 1x2 행렬 생성
위 두행렬로 새로운 행렬 B를 만들어봅시다.
B = [A, b'] // b행렬 Tranpose 하여 열방향으로 A행렬에 추가
B1 = [A;b] // b행렬 행방향으로 A행렬에 추가
B = [A, b'] 는 , 를 이용해 열을 추가 했으므로
B = [1, 2 , 5 ; 3, 4, 6] 또는 B = [A , [5;6]] 과 같은 표현입니다
B1 = [A;b] 는 ; 를 이용해 행을 추가 했으므로
B1 = [1, 2 ; 3, 4 ; 5, 6] 과 같은 표현입니다.
매트랩 행렬에서 두괄호를 기억하시면 도움이 되실겁니다!!
[ ]: 행렬 생성!
( ): 행, 열 인덱스 접근!
오늘은 여기서 마무리하겠습니다!
읽어주셔서 감사합니다~
반응형'2) Tech' 카테고리의 다른 글
Pandas 1개의 열 이름 바꾸기 (0) 2020.03.26 6. (Matlab) 알아두면 유용한 매트랩, 행렬 연산 (0) 2020.03.22 5. (Matlab) 알아두면 유용한 매트랩, 행렬 인덱스(indexing) (0) 2020.03.16 2-1. (Matlab) 알아두면 유용한 매트랩, 행렬 생성 함수 (0) 2020.03.15 4. (Matlab) 알아두면 유용한 매트랩, 인덱스(indexing) (0) 2020.03.08