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 이전에 개발됨

참고 항목

| | | | | |

도움말 항목