※이 글은 매틀랩 도움말센터 MATLAB Documentation - MathWorks 한국을 가지고 따라 하며 부연설명을 추가하여 만든 자료입니다
MATLAB Documentation - MathWorks 한국
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다. 명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
kr.mathworks.com
표현식
다른 대부분의 프로그래밍 언어(c, c++... etc) 언어와 마찬가지로 matlab언어는 수학적 표현을 제공하지만 matlab은 데이터형에 상관없이 모든 변수가 행렬이기에 수학 표현식은 행열 전체를 포함하게 됩니다
matlab과 다른 언어의 차이는
-matlab 데이터나 차원 크기에 대한 선언문이 필요 없습니다
-matlab에서는 새 변수 이름을 발견하면 해당 변수를 자동으로 생성하고 적절한 용량을 할당합니다 변수가 이미 있는 경우에는 새로 변경하고 용량을 재할당합니다
예를 들어서
x=25
릴선 언하면
1*1 행렬에 25 값을 가지는 행렬이 만들어집니다(1*1 행렬은 스칼라의 의미를 가지기도 합니다) 이런 식으로 변수 이름=값의 형태로 표현 가능하며
변수는
-변수 이름은 문자로 시작해야 하며 문자 자릿수 밑줄 중한가 오는 형태로 구성됩니다(a, A_1.. etc)
-matlab은 대소문자를 구분하기에 a변수와 A변수는 다릅니다
-변수 이름 길이는 상관없지만 이름의 처음 n개의 문자만 가지고 판단하기에 n 개네에서 독립적인 변수를 지정해야 합니다
변수 이름 길이는 namelengthmax로 확인 가능합니다
namelengthmax
63자가 같을 경우 오류가 납니다 여러분은 63^63가지의 변수 내에서 모든 일을 처리해야 합니다(그럴 일은 없겠지만)
수
matlab에서는 수를 표현하기 위해 일반적인 10진수 표기법이랑 소수점과 수자 앞에 플러스 또는 마이너스 기호를 선택적으로 붙입니다 과학 표기법에서는 문자 e를 사용하여 10의 거듭제곱 스케일링 인자를 지정합니다. 허수에는 i 또는 j가 접미사로 사용됩니다.
수표현
MATLAB 내부에서는 모든 수를 IEEE® 부동소수점 표준에 지정된 long 형식을 사용하여 저장합니다. 부동소수점 숫자는 약 16개 유효 소수점 자릿수의 유한 정밀도와 약 10-308 ~ 10+308의 유한한 범위가 지정되어 있습니다.
이런 형태로 저장됩니다
double
double형으로 표현되는 숫자는 최대 정밀도가 52비트입니다. 52보다 높은 정밀도가 요구되는 double형은 정밀도의 일부가 손실됩니다
x = 36028797018963968;
y = 36028797018963972;
x == y
52BIT가 넘어가면 전부 다 잘립니다
INT
정수형 8 16 32 64BIT의 정밀도를 사용할 수 있습니다
x = uint64(36028797018963968);
y = uint64(36028797018963972);
x == y
MATLAB에서는 복소수의 실수부와 허수부를 저장합니다. 또한 실수부의 크기와 허수부의 크기를 상황에 따라 다른 방식으로 처리합니다
sort 함수는 크기에 따라 정렬을 실행하고 크기가 같은 경우 위상각을 기준으로 정렬합니다. 볼까요
sort([3+3i, 4+3i 5+3i])
sort([5+2i, 5+3i 5+4i])
추가로 복소수는 등호 관계 연산자인 ==를 사용하려면 실수부와 허수부가 모두 같아야 합니다. 그 밖의 이진 관계 연산자 > <, >=, <=는 수의 허수부는 무시하고 실수 부만 고려합니다.
'공학 > matlab' 카테고리의 다른 글
matlab정리 -9.행렬연산자 수학함수 (0) | 2021.03.30 |
---|---|
matlab정리 -7.프로그래밍과 스크립트 (0) | 2021.03.22 |
matlab 정리 - 6.2차원 플롯과 3차원 플롯 (0) | 2021.03.20 |
matlab정리 - 5.함수호출 (0) | 2021.03.19 |
matlab 정리 - 4. 텍스트와 문자 (0) | 2021.03.19 |