-
6-1. (Matlab) 알아두면 유용한 매트랩, 행렬 연산 응용2) Tech 2020. 4. 5. 15:59반응형
안녕하세요!!
이번시간에는 지난시간에 이어!
행렬의 연산과 응용에 대해 이야기해보겠습니다.
1. 행렬의 연산
오늘도 역시나 행렬을 먼저 생성합니다!
3x3 행렬을 생성해볼게요
A = [3,2,6; 7,8,1; 0,2,4]
- 행렬의 열평균 구하기
먼저, 생성한 행렬의 열방향 평균을 알아보고싶습니다!
(행렬의 열방향 Data의 평균을 구할때 유용하겠죠?!)
지난시간 기억을 더듬어 행렬의 인덱싱을 사용해서 평균을 구해보겠습니다.
acol_1 = A(:, 1) => A행렬의 1열을 인덱싱하여 acol_1 에 할당
mean(acol_1) => mean 함수를 사용하여 aco_1 원소들의 평균 구한다.
하지만, 위 보다 더욱 간단한 방법이 있습니다!
mean 함수를 A행렬에 사용해주면 곧장 평균값들이 계산됩니다.
m = mean(A) => A행렬 각열의 평균값 계산
매트랩에서 mean 함수는 Default로 열의 평균을 계산하게 되어있습니다.
때문에 m에는 [3.3333, 4.0, 3.6667] 이렇게 할당이 되겠네요.
m[1], m[2], m[3] 등으로 열평균을 추출가능합니다!
- 행렬의 행평균 구하기
위에서 mean 함수는 Default로 열 평균을 계산하게 되어있다고 말씀드렸는데요.
mean(행렬, dim) dim = 1(default값)
그니깐! m = mean(A, 1) 여기서 dimension 값인 1이 생략되어있는거였죠!
dimension 1 = 열, 2 = 행 을 의미합니다!
그럼 행평균을 구할때는 dimension 값만 바꾸어 주면 끝입니다.
즉,
m = mean(A, 2) => A 행렬의 각 행의 평균 계산
여기서는 m[1], m[2], m[3]으로 각 행평균을 추출가능합니다!
- 행, 열별 덧셈
행, 열별 전체 덧셈은 때때로 비율을 계산할때 유용하게 사용되겠죠!
역시나 인덱싱을 통해 각열과 행의 덧셈이 가능하지만,
위와 마찬가지로 Sum 함수를 사용하시면됩니다.
sum 함수 또한 dimension(1=열, 2=행) 에 따라 열방향, 행방향 합이 구해집니다.
s = sum(A) => column 방향으로 합이 구해짐.
s = sum(A,2) => row 방향으로 합이 구해짐.
2. 행렬 Size 변경
Matrix를 사용할때 사이즈를 변경 해야하는 경우가 종종 생깁니다.
그럴때 매트랩에서는 역시나 함수하나로 간단히 resizing이 가능합니다!
행렬을 하나 생성합시다!
M = [1:4; 5:8; 9:12]
reshape 함수를 사용하면 같은 원소 개수에 한에서 행렬 size 변경이 가능합니다.
reshape(size변경할 행렬, 행size, 열size)
N = reshape(M, 4, 3) => 3 x 4 -> 4 x 3 로 변경!
원소의 개수가 다른 행렬로 변경 시도 시 에러가 뜹니다!!
오늘은 여기서 내용 마무리 하도록 하겠습니다.
부족하지만 읽어주셔서 감사합니다~~
Editor
%%
clear;clc;
A = [3,2,6 ; 7,8,1; 0,2,4]
%column 방향
m = mean(A); % 열방향으로 평균이 구해진다.
s = sum(A);
%row 방향
s = sum(A, 2); % dim 1: 열방향, 2: 행방향
m = mean(A, 2);
M = [1:4 ; 5:8 ; 9:12];
N = reshape(M, 4, 3); % Matrix Size 변경반응형'2) Tech' 카테고리의 다른 글
[PyTorch Study] PyTorch 설치, 변수 선언 및 data type (0) 2020.09.22 [Tip!] Anaconda(아나콘다) 파이썬 버전 변경하기 (2) 2020.04.12 Pandas 1개의 열 이름 바꾸기 (0) 2020.03.26 6. (Matlab) 알아두면 유용한 매트랩, 행렬 연산 (0) 2020.03.22 5-1. (Matlab) 알아두면 유용한 매트랩, 행렬 인덱스(indexing) 응용 (0) 2020.03.22