-
4. (Matlab) 알아두면 유용한 매트랩, 인덱스(indexing)2) Tech 2020. 3. 8. 21:28반응형
안녕하세요!
오늘은 매트랩 벡터의 Indexing(인덱싱)에 대해 이야기해보겠습니다.
인덱싱이란 여러 데이터중 특정데이터에 접근하는것을 의미합니다!
즉, [0, 1, 2, 3, 4, 5]와 같은 행벡터가 있을 때
0번째, 4번째 데이터에 접근 하려할때 indexing을 사용하게됩니다.
매트랩에서 인덱싱의 방법은 크게 3가지가 있습니다.
1. Linear Indexing : 인덱스
2. Row-Column Indexing : 행 인덱스, 열 인덱스
3. Logical Indexing : 조건
1. Linear Indexing
매트랩 인덱싱을 예를 통해 알아보겠습니다.
그럼 명령창으로 갑시다!
clear; clc;
x = [5, 4, 10, 2];위와 같이 x를 선언했을 때,
x의 [5, 4, 10, 2] 각 요소마다 번호(인덱스)가 부여됩니다.
앞에서 부터 1 2 3 ... 순으로 매겨집니다.
주의!!
c 배열의 인덱스와 다르게 첫번째 요소의 인덱스가 1로 부여됩니다!!!
* 인덱스 추출 *
y = x(2) + x(3); -> x의 2, 3 인덱스에 해당하는 값을 추출해 더하는 의미
/*
x(2) = 4, x(3) = 10
y = 14 가 되겠네요!
*/
* 인덱스 값 변경 *
x(3) = 11; -> x(3) : 10 -> 11로 변경, x = [5, 4, 11, 2]
+ 응용
x = [5, 4, 11, 2] 일때
x([인덱스, 인덱스, 인덱스]) 와 같이 적어주면, 추출된 각 인덱스로 새로운 벡터가 형성됩니다.
y = x([4,3,2,1]); -> y = [x(4), x(3), x(2), x(1)] 즉, y = [2, 11, 4, 5]
y = x( [1,1,1]); -> y = [x(1), x(1), x(1)] 즉, y = [5, 5, 5]
y = x(end:-1:1); -> x(end), x 맨끝 인덱스에 접근! y = [2, 11, 4, 5]
y = x(end -2); -> y = 5
x([1,2]) = 0; -> x = [0, 0, 11, 2]
x([1,2]) = [3,7]; -> x = [3, 7, 11, 2]
* 인덱스 추가 *
x [3, 7, 11, 2] 의 인덱스를 추가하려면,
x(end + 1) = 7; -> end 자리에 +1 한 인덱스에 값을 할당. 즉, x(5)에 7할당 x = [3,7,11,2,7]
x(end + 3) = 5; -> x(8)에 5할당 x = [3,7,11,2,7,0,0,5]
x(end) = []; -> x(end) 값 [] = 제거
오늘은 Linear Indexing을 알아봤습니다!
오늘도 별건아니지만 도움이 되셨으면 좋겠네요!!
다음에는 행렬의 인덱싱과 연산에대해 알아보겠습니다~~
반응형'2) Tech' 카테고리의 다른 글
5. (Matlab) 알아두면 유용한 매트랩, 행렬 인덱스(indexing) (0) 2020.03.16 2-1. (Matlab) 알아두면 유용한 매트랩, 행렬 생성 함수 (0) 2020.03.15 1-3. (Matlab) 그래프 겹쳐 그리는 방법! (1) 2020.03.06 [Tip!] Jupyter notebook 단축키 모음 (0) 2020.03.02 [Tip!] github에서 csv file(파일) 다운로드 받는 법 (4) 2020.02.28