-
3. (Matlab) 알아두면 유용한 매트랩, 벡터의 연산 & 통계함수2) Tech 2020. 2. 19. 15:05반응형
안녕하세요!
알아두면 유용한 매트랩 3번째 시간입니다!
이번시간에는 지난시간에 다뤘던 Vector 및 행렬의 연산 기능에 대해 나눠보려합니다.
수학의 정석에서 배워서 아시겠지만....
행렬은 행렬의 곱셈과 덧셈 등 연산이 가능합니다.
이는 매트랩에서도 가능하다는 말이겠죠!
오늘도 매트랩을 직접 실행해보면서 이야기하겠습니다.
1. Vector의 상수 연산
v = [1, 2, 3]
자! 위와 같이 v라는 벡터하나를 만들겠습니다.
v의 원소마다 특정 값으로 사칙연산이 가능합니다.
벡터 v에 특정값으로 연산한 결과를 x에 할당해보겠습니다.
x = v +3
x = v - 3
x = v * 3
x = v / 3
위 수식을 차례로 Command Window에 입력해보세요!
예상한 결과이신가요?!
특정 수를 연산할 경우에는 따로 행벡터를 만들지 않아도 각각 원소에 계산되는 것을 볼 수 있습니다.
(열벡터도 마찬가지입니다!!)
2. Vector 간 연산
이번에는 Vector 간의 연산을 알아보겠습니다.
v2 = 4:6
위와 같이 새로운 행벡터 v2를 생성해주세요!
y = v + v2
y = v - v2
y = v * v2
y = v / v2
위 수식을 차례로 Command Window에 입력해보세요!
아마 덧셈과 뺄셈 연산을 제외하고는 오류가 뜨거나 당황스러운 값이 나올것입니다!
오류의 내용은 행렬의 곱셈에서 행과 열의 개수가 같지 않아서 발생하는 오류라고 하네요.
같은 크기의 벡터에서 각각 원소끼리의 곱셈과 나눗셈을 진행하려면
하나만 기억하시면 됩니다!! .(점)을 기억하세요!
즉, 아래와 같이 수식을 수정하시면 각 원소 간 곱셈과 나눗셈이 진행됩니다.
y = v.*v2
y = v./v2
.이 각각 연산해라 라는 뜻이 되는거겠죠?!
2. Vector 통계 함수
이번에는 통계 함수를 바로 예시로 알아보겠습니다.
x = [2, 5, 9, 1, 10]
m = mean(x) % 원소들의 평균
m = min(x) % 원소 중 최소값
m = max(x) % 원소 중 최대값
s = sum(x) % 원소의 합
v = var(x) % 원소의 분산
st = std(x) % 원소의 표준편차2-1. 통계 함수의 결과 값 위치 찾기
[m, i] = min(x) % m에 min(x) 값 할당, i에 min(x) 값의 위치를 할당
[m, i] = max(x) % m에 max(x) 값 할당, i에 max(x) 값의 위치를 할당
[~, i] = max(x) % i에 max(x) 값의 위치를 할당함수 결과의 위치를 찾는 법이 어떻게 사용되는지 예시를 통해 보겠습니다!
첫번째포스팅에서 만들었던 .mat 파일을 이용하겠습니다!
clear;clc;
load('FGK.mat') % .mat file 불러오기
plot(Year,France) % 년도별 France 가스 가격 그래프
%% 문제! 프랑스의 가스 가격이 최소인 연도는?
[~, i] = min(France) % France data중 최소값의 위치 i에 할당
Year(i) % France 가스가격이 최소일때 년도 구하기!
프랑스의 가스가격이 최소인 년도는 1993년이었네요! 그럼 진짜 맞는지 확인해볼까요?
France data를 열어서 확인해보면 가장 작은 수의 위치 4번째 행인걸 볼수 있습니다.
plot(Year, France)
에서 1차 함수로 1:1 매칭을 해주었으니 1993년도가 나오는게 맞네요!
이번시간에는 Vector의 연산과 몇가지 통계함수를 확인해봤습니다
직접 확인해보시면 더더욱 좋을거 같네요!!
읽어주셔서 감사합니다~!!
--------------------------------------------------------------------------------------------------------------------
Editor
%% vector 연산
clear; clc;
v= [1, 2, 3];
x = v+3;
x = v-3;
x = v*3;
x = v/3;
v2 = 4:6;
y = v+v2;
y = v-v2;
y = v.*v2;
y = v./v2;
%% statistical functions
clear; clc;
x = [2, 5, 9, 1, 10];
m = mean(x); %평균
m = min(x);
m = max(x);
s = sum(x)
v = var(x); %분산
s = std(x); %표준편차
[m, i] = min(x);
[m, i] = max(x);
[~, i] = max(x);
%%
clear;clc;
load('FraGerkor.mat')
plot(Year,France)
% 프랑스의 가스 가격이 최소인 연도는?
[~, i] = min(France)
Year(i)반응형'2) Tech' 카테고리의 다른 글
[Tip!] Jupyter notebook 단축키 모음 (0) 2020.03.02 [Tip!] github에서 csv file(파일) 다운로드 받는 법 (4) 2020.02.28 1-2. (Matlab) 알아두면 유용한 매트랩, 다양한 그래프 함수 및 기능 (0) 2020.02.03 2. (Matlab) 알아두면 유용한 매트랩, 벡터와 행렬 (0) 2020.01.21 1. (Matlab) 알아두면 유용한 매트랩, 그래프 생성 (3) 2020.01.21