티스토리 뷰

% * 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
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함