티스토리 뷰
% * MATLAB에서 기본적인 연산
% - 수치 데이터 : 스칼라(scalar), 벡터(vector), 행렬(matrix)
% - 스칼라 입력방법 : 1. command window
% 2. M-File
% 3. 파일로 부터
% - MATLAB에서 정의되는 특별한 상수
% + pi : 원주율 3.14...
% + i,j : 복소수의 허수부를 의미
% + inf : 무한대
% + NaN : 수가 아니라는 의미(Not a Number)
% + eps : 부동 소수점의 상대적인 정확도
% + ans : 가장 최근의 값을 나타내는 변수로 어떤 작업의 결과를 반환함
% + flops : 부동 소수점 연산을 수행한 횟수
% + realmax : 가장 큰 양의 부동 소수점
% + realmin : 가장 작은 양의 부동 소수점
% + computer : MATLAB을 수행하고 있는 컴퓨터의 종류 및 수행할 수 있는
% 행렬의 최대 원소의 갯수를 정수로 출력
% + cputime : MATLAB을 시작한 후로부터 MATLAB에서 사용한 CPU Time을
% 초로 계산하여 출력한다.
% + clock : 현재 시간을 행벡터로 출력
% + date : 문자열로 이루어진 현재 날짜를 출력
% - 행렬의 입력
% + 행 구분 세미콜론(;)사용 , 열 구분 콤마(,)나 공백 사용
% >> a=[1,2,3;4,5,6;7,8,9]
% >> a=[1 2 3;4 5 6;7 8 9]
% >> a(i,j) -> i행 j열의 내용
% -> i,j 즉, 첨자는 정수여야 한다. (실수일 경우 2.5675면 3으로 간주한다.)
% - 열 행렬 우선 계산된다.
% - 열거 A(i:j,k:l) => A(i i+1 i+2 ... j-2 j-1 j; k k+1 k+2 ... l-2 l-1 l)
% A(:,k) k열의 전체 행
% A(k,:) k행의 전체 열
% - 이미 존재하는 행렬의 합성
% >> A=[1 2;4 5]
% >> B=[3;6;9]
% >> C=[7 8]
% >> D=[A;C] A행렬에 마지막행 자리에 C를 넣는다
% >> E=[D,B] D의 행렬의 마지막 열자리에 B를 넣는다.
% - 길이가 너무 길어 다음 줄로 넘어가고자 할때는 space bar로 한칸 뛰우고 ... 을
% 적고 enter치면 다음줄에서 계속 연결하여 적을수 있다.
% - MATLAB에서 정의되는 특별한 행렬
% + 빈행렬(empty matrix) >>a=[]
% + 영행렬(zero matrix) >>zeros(3,2)
% + 모든요소가 1로 이루어진 행렬(matrix of ones) >>ones(3,2)
% + 단위 행렬(identity matrix) >>eye(3,2)
% + 0과 1사이의 값으로 균등 분포된 난수들로 이루진 행렬 >>rand(3,3)
% + 0과 1사이의 값으로 정규 분포된 난수들로 이루진 행렬 >>randn(3,3)
% + 파스칼의 삼각행렬(pascal's triangle matrix) >>pascal(5) -> 5x5 파스칼 행렬
% + 마방진(magic square) >>magic(4) -> 4x4 마방진
% + 동반 행렬(companion matrix) >>compan([1,1,1])
% ans=
% -1 -1
% 0 0
% >>eig(ans)
% -> ans의 고유치가 바로 다항식의 해가 된다.
% + Hadamard 행렬 >>hadamard(2)
% >> 모든 요소가 1또는 -1로 이루어져 있어서 다음 관계식을 만족하는 n차의 정방 행렬을 말함
% H^t H= nI
% (참고) 빈행렬 검사하는 명령어 isempty(~)
% - 콜론(:)을 이용한 벡터 입력
% >> a=시작값:증분값:최종값
% ex)
% >> a=1:0.2:5
% - MATLAB에서 스칼라의 연산 및 조작
% + 일반적인 연산법칙과 같다.
% + 연산의 우선순위는 C++과 같다.
% - 행렬의 연산
% + 행렬의 덧셈과 뺄셈은 두 행렬의 크기가 같아야 한다.
% + 스칼라와 덧셈과 뺄셈이 가능하다.
% + 행렬의 곱은 일반적인 행렬의 곱과 같다.
% + 행렬의 나누기 X=BA^-1 = X=A/B
% X=A^-1 B = X=B\A
% + 참고 : inv(a) 역행렬 계산
% + 행렬의 거듭제곱 >> A^2 = A*A
% - 행렬의 조작
% + rot90 : 행렬을 90도씩 회전 시킨다. >> rot90(a,k) -> 90*k만큼 회전
% + flipud : 주어진 행렬을 상하 반전 >> flipud(a)
% + fliplr : 주어진 행렬을 좌우 방향으로 교환한다. >> filplr(a)
% + reshape : 한 행렬에서 요소들을 취하여 다른 행렬을 만듦 >> reshape(a,m,n)
% - 배열의 연산
% + 배열의 연산에서는 행렬의 연산과 식에서는 동일한나 점(.)을 붙여 주어 벡터의
% 연산임을 알아야 한다.
% + C=A.*B
% C=A./B
% C=A.^2
% - 백터의 내적 >> dot(A,B) -> sum(A.*B)와 같다.
% - 백터의 외적 >> cross(A,B)
% - 다차원 배열의 연산 및 조작(3차원 이상의 배열)
% ex) 3차원
% >> A(:,:,1)=[1 2;3 4]
% >> A(:,:,2)=[5 6;7 8]
% - 기본적인 수학 함수 및 삼각 함수, 쌍곡선 함수
% abs(x) x의 절대값
% sqrt(x) x의 근호값
% round(x) x를 가까운 정수로 반올림
% fix(x) x를 0쪽으로 가까운 정수로 반올림
% floor(x) x를 -무한대쪽으로 가까운 정수로 반올림
% ceil(x) x를 무한대쪽으로 가까운 정수로 반올림
% sign(x) x가 0보다 적으면 -1, 0이면 0, 0보다 크면 1을 반환
% rem(x,y) x/y의 나머지
% exp(x) e^x
% sin(x) 라디안으로 정의 되는 x에 대한 sin값
% cos(x) 라디안으로 정의 되는 x에 대한 cos값
% tan(x) 라디안으로 정의 되는 x에 대한 tan값
% asin(x) 역 sin값
% acos(x) 역 cos값
% atan(x) 역 tan값
% atan2(x)
% sinh(x) hyperbolic sin(x)
% cosh(x) hyperbolic cos(x)
% tanh(x) hyperbolic tan(x)
% asinh(x) 역 hyperbolic sin(x)
% acosh(x) 역 hyperbolic cos(x)
% atanh(x) 역 hyperbolic tan(x)
'Mathematics > MATLAB' 카테고리의 다른 글
1.2 연습문제 (0) | 2008.08.18 |
---|---|
1.1 (첨부) Preferences에서 Numerical Format 설정 부분 설명 (0) | 2008.08.18 |
1.1 MATLAB의 기본 설명 (0) | 2008.08.18 |