Main Content

isreal

배열에 복소수가 저장되어 있는지 확인

설명

tf = isreal(A)는 숫자형 배열 A에 허수부가 없을 경우 논리값 1(true)을 반환하고, 그러지 않으면 논리값 0(false)을 반환합니다. 허수부가 0인 복소수 값의 경우 값이 여전히 복소수로 저장되므로 isreal은 논리값 0(false)을 반환합니다.

예제

예제

모두 축소

3×4 행렬 A를 정의합니다.

A = [7 3+4i 2 5i;...
     2i 1+3i 12 345;...
     52 108 78 3];

배열이 실수인지 확인합니다.

tf = isreal(A)
tf = logical
   0

A에 복소수 요소가 포함되어 있으므로 isreal은 false를 반환합니다.

complex 함수를 사용하여 허수부 값이 0인 스칼라 A를 만듭니다.

A = complex(12)
A = 
12.0000 + 0.0000i

A가 실수인지 확인합니다.

tf = isreal(A)
tf = logical
   0

A는 허수부의 값이 0일지라도 허수부가 있으므로 실수가 아닙니다.

A가 허수부의 값이 0인 요소를 포함하는지 확인합니다.

~any(imag(A))
ans = logical
   1

A에는 허수부 값이 0인 요소가 포함되어 있습니다.

두 개의 복소수 스칼라 xy를 정의합니다.

x=3+4i;
y=5-4i;

두 개의 복소수 스칼라 xy를 더한 값이 실수인지 확인합니다.

A = x+y
A = 
8

MATLAB®이 0인 허수부를 버립니다.

isreal(A)
ans = logical
   1

A는 허수부가 없으므로 실수입니다.

셀형 배열을 만듭니다.

C{1,1} = pi;                 % double
C{2,1} = 'John Doe';         % char array
C{3,1} = 2 + 4i;             % complex double
C{4,1} = ispc;               % logical
C{5,1} = magic(3);           % double array
C{6,1} = complex(5,0)        % complex double
C=6×1 cell array
    {[          3.1416]}
    {'John Doe'        }
    {[2.0000 + 4.0000i]}
    {[               0]}
    {3x3 double        }
    {[5.0000 + 0.0000i]}

C는 1×6 셀형 배열입니다.

셀형 배열의 요소를 루프를 사용해 순회하여 실수 요소와 복소수 요소를 구별합니다.

for k = 1:6
x(k,1) = isreal(C{k,1});
end

x
x = 6x1 logical array

   1
   1
   0
   1
   1
   0

C{3,1}C{6,1}을 제외한 모든 요소가 실수 배열입니다.

입력 인수

모두 축소

입력 배열로, 스칼라, 벡터, 행렬, 다차원 배열 중 하나로 지정됩니다.

  • 숫자 데이터형의 경우 A에 허수부가 없으면 isrealtrue를 반환합니다. A에 허수부가 있으면 isrealfalse를 반환합니다.

  • duration, calendarDuration, logical, char 데이터형의 경우 isreal은 항상 true를 반환합니다.

  • string, table, cell, struct, datetime, function_handle, object 데이터형의 경우 isreal은 항상 false를 반환합니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | struct | table | cell | datetime | duration | calendarDuration | function_handle
복소수 지원 여부:

  • 배열 A의 모든 요소가 실수인지 확인하려면 A == real(A)를 사용하십시오.

  • isreal(complex(A))는 허수부가 모두 0일 때에도 항상 false를 반환합니다.

  • ~isreal(x)는 허수부가 모두 0인 경우에도 허수부가 있는 배열을 감지합니다.

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.

HDL 코드 생성
HDL Coder™를 사용하여 FPGA 및 ASIC 설계를 위한 VHDL, Verilog 및 SystemVerilog 코드를 생성할 수 있습니다.

버전 내역

R2006a 이전에 개발됨

참고 항목

| | | | | |

도움말 항목