Main Content

not, ~

논리 NOT 구하기

구문

설명

예제

~AA와 크기가 같은 논리형 배열 또는 논리값으로 구성된 테이블을 반환합니다. 출력값에는 A가 0인 경우에는 논리값 1(true)이, A가 0이 아닌 경우에는 논리값 0(false)이 들어 있습니다.

not(A)~A를 실행하는 또 다른 방법이지만 거의 사용되지 않습니다. 이 표현식은 클래스에 대한 연산자 오버로드를 지원합니다.

예제

모두 축소

3×3 단위 행렬을 만듭니다.

A = eye(3)
A = 3×3

     1     0     0
     0     1     0
     0     0     1

A의 논리적 부정을 구합니다. 새 행렬의 유형은 logical입니다.

B = ~A
B = 3x3 logical array

   0   1   1
   1   0   1
   1   1   0

if 루프 컨텍스트에서 논리 NOT 연산자를 사용하여 조건에 기반한 코드를 실행합니다.

논리형 변수 A를 만듭니다.

A = false;

A를 사용하여 if/else 코드 블록을 작성합니다. for 루프로 if/else 블록을 감싸 4번 실행되도록 합니다.

for k = 1:4
    if ~A
        disp('IF block')
        A = true;
    else
        disp('ELSE block')
    end
end
IF block
ELSE block
ELSE block
ELSE block

첫 번째 반복에서는 Afalse입니다. 따라서 ~Atrue이기 때문에 if 블록이 실행됩니다. 그러나 if 블록은 A 값도 true로 변경합니다. 나머지 반복에서는 ~Afalse이기 때문에 else 블록이 실행됩니다.

R2023a 이상

테이블을 만들고 이 테이블의 논리 NOT 연산을 수행합니다. 테이블 또는 타임테이블의 논리 NOT 연산을 수행하려면 모든 변수가 논리 연산을 지원하는 데이터형을 가져야 합니다.

A = table([0;2],[0;4],VariableNames=["V1","V2"],RowNames=["R1","R2"])
A=2×2 table
          V1    V2
          __    __

    R1    0     0 
    R2    2     4 

~A
ans=2×2 table
           V1       V2  
          _____    _____

    R1    true     true 
    R2    false    false

입력 인수

모두 축소

입력 배열로, 숫자형 스칼라, 벡터, 행렬, 다차원 배열, 테이블 또는 타임테이블로 지정됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | table | timetable
복소수 지원 여부:

  • 함수 호출에서 ~ 기호를 자리 표시자 출력 인수로 사용할 수도 있습니다. 예를 들어, [~,i] = max(A)max 함수의 첫 번째 출력값 표시를 차단하여 최댓값의 인덱스만 반환합니다. 자세한 내용은 함수 정의에서 입력값 무시하기 항목을 참조하십시오.

확장 기능

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

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

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

버전 내역

R2006a 이전에 개발됨

모두 확장