산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> MATLAB

MATLAB - 숫자

MATLAB은 부호 있는 정수와 부호 없는 정수, 단정밀도 및 배정밀도 부동 소수점 숫자를 포함하는 다양한 숫자 클래스를 지원합니다. 기본적으로 MATLAB은 모든 숫자 값을 배정밀도 부동 소수점 숫자로 저장합니다.

임의의 숫자 또는 숫자 배열을 정수 또는 단정밀도 숫자로 저장하도록 선택할 수 있습니다.

모든 숫자 유형은 기본 배열 연산과 수학 연산을 지원합니다.

다양한 숫자 데이터 유형으로의 변환

MATLAB은 다양한 숫자 데이터 유형으로 변환하기 위해 다음과 같은 함수를 제공합니다. −

기능 목적
더블 배정밀도 숫자로 변환
싱글 단정밀도 숫자로 변환
int8 8비트 부호 있는 정수로 변환
int16 16비트 부호 있는 정수로 변환
int32 32비트 부호 있는 정수로 변환
int64 64비트 부호 있는 정수로 변환
uint8 8비트 부호 없는 정수로 변환
uint16 16비트 부호 없는 정수로 변환
uint32 32비트 부호 없는 정수로 변환
uint64 64비트 부호 없는 정수로 변환

예시

스크립트 파일을 만들고 다음 코드를 입력하십시오 -

라이브 데모
x = single([5.32 3.47 6.28]) .* 7.5
x = double([5.32 3.47 6.28]) .* 7.5
x = int8([5.32 3.47 6.28]) .* 7.5
x = int16([5.32 3.47 6.28]) .* 7.5
x = int32([5.32 3.47 6.28]) .* 7.5
x = int64([5.32 3.47 6.28]) .* 7.5

파일을 실행하면 다음과 같은 결과가 표시됩니다. -

x =

   39.900   26.025   47.100

x =

   39.900   26.025   47.100

x =

   38  23  45

x =

   38  23  45

x =

   38  23  45

x =

   38  23  45

예시

앞의 예를 조금 더 확장해 보겠습니다. 스크립트 파일을 만들고 다음 코드를 입력하십시오 -

라이브 데모
x = int32([5.32 3.47 6.28]) .* 7.5
x = int64([5.32 3.47 6.28]) .* 7.5
x = num2cell(x)

파일을 실행하면 다음과 같은 결과가 표시됩니다. -

x =

   38  23  45

x =

   38  23  45

x = 
{
   [1,1] = 38
   [1,2] = 23
   [1,3] = 45
}

가장 작은 정수와 가장 큰 정수

intmax() 함수 및 intmin() 모든 유형의 정수로 표현할 수 있는 최대값과 최소값을 반환합니다.

두 함수 모두 정수 데이터 형식(예:intmax(int8) 또는 intmin(int64))을 인수로 사용하고 정수 데이터 형식으로 나타낼 수 있는 최대값과 최소값을 반환합니다.

예시

다음 예는 정수의 가장 작은 값과 가장 큰 값을 구하는 방법을 보여줍니다. 스크립트 파일을 만들고 그 안에 다음 코드를 작성하십시오 -

라이브 데모
% displaying the smallest and largest signed integer data
str = 'The range for int8 is:\n\t%d to %d ';
sprintf(str, intmin('int8'), intmax('int8'))

str = 'The range for int16 is:\n\t%d to %d ';
sprintf(str, intmin('int16'), intmax('int16'))

str = 'The range for int32 is:\n\t%d to %d ';
sprintf(str, intmin('int32'), intmax('int32'))

str = 'The range for int64 is:\n\t%d to %d ';
sprintf(str, intmin('int64'), intmax('int64'))
 
% displaying the smallest and largest unsigned integer data
str = 'The range for uint8 is:\n\t%d to %d ';
sprintf(str, intmin('uint8'), intmax('uint8'))

str = 'The range for uint16 is:\n\t%d to %d ';
sprintf(str, intmin('uint16'), intmax('uint16'))

str = 'The range for uint32 is:\n\t%d to %d ';
sprintf(str, intmin('uint32'), intmax('uint32'))

str = 'The range for uint64 is:\n\t%d to %d ';
sprintf(str, intmin('uint64'), intmax('uint64'))

파일을 실행하면 다음과 같은 결과가 표시됩니다. -

ans = The range for int8 is:
	-128 to 127 
ans = The range for int16 is:
	-32768 to 32767 
ans = The range for int32 is:
	-2147483648 to 2147483647 
ans = The range for int64 is:
	0 to 0 
ans = The range for uint8 is:
	0 to 255 
ans = The range for uint16 is:
	0 to 65535 
ans = The range for uint32 is:
	0 to -1 
ans = The range for uint64 is:
	0 to 18446744073709551616 

가장 작은 부동 소수점 숫자와 가장 큰 부동 소수점 숫자

realmax() 함수 및 realmin() 부동 소수점 숫자로 표현할 수 있는 최대값과 최소값을 반환합니다.

두 함수 모두 'single' 인수로 호출할 때 단정밀도 데이터 유형으로 표현할 수 있는 최대값과 최소값을 반환하고 인수 'double'로 호출할 때 다음으로 표현할 수 있는 최대값과 최소값을 반환합니다. 배정밀도 데이터 유형입니다.

예시

다음 예는 가장 작은 부동 소수점 숫자와 가장 큰 부동 소수점 숫자를 구하는 방법을 보여줍니다. 스크립트 파일을 만들고 그 안에 다음 코드를 작성하십시오 -

라이브 데모
% displaying the smallest and largest single-precision 
% floating point number
str = 'The range for single is:\n\t%g to %g and\n\t %g to  %g';
sprintf(str, -realmax('single'), -realmin('single'), ...
   realmin('single'), realmax('single'))

% displaying the smallest and largest double-precision 
% floating point number
str = 'The range for double is:\n\t%g to %g and\n\t %g to  %g';
sprintf(str, -realmax('double'), -realmin('double'), ...
   realmin('double'), realmax('double'))

파일을 실행하면 다음과 같은 결과가 표시됩니다. -

ans = The range for single is:                                                  
        -3.40282e+38 to -1.17549e-38 and                                        
         1.17549e-38 to  3.40282e+38                                            
ans = The range for double is:                                                  
        -1.79769e+308 to -2.22507e-308 and                                      
         2.22507e-308 to  1.79769e+308

MATLAB

  1. 숫자 대 숫자
  2. MATLAB - 개요
  3. MATLAB - 변수
  4. MATLAB - 명령
  5. MATLAB - 데이터 유형
  6. MATLAB - 연산자
  7. MATLAB - 행렬
  8. MATLAB - 배열
  9. MATLAB - 콜론 표기법
  10. MATLAB - 문자열