이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
eq, ==
동일성(Equality) 확인
설명
예제
두 벡터의 동일성
실수와 허수를 모두 포함하는 두 개의 벡터를 만든 다음 두 벡터가 동일한지 비교합니다.
A = [1+i 3 2 4+i]; B = [1 3+i 2 4+i]; A == B
ans = 1x4 logical array
0 0 1 1
eq
함수는 실수부와 허수부가 동일한지 테스트하고 두 부분이 모두 동일한 경우에만 논리값 1
(true
)을 반환합니다.
문자 찾기
문자형 벡터를 만듭니다.
M = 'magenta';
==
를 사용하여 특정 문자가 있는지 테스트합니다.
M == 'e'
ans = 1x7 logical array
0 0 0 1 0 0 0
논리값 1
(true
)은 문자 'e'
가 있음을 나타냅니다.
categorical형 배열에서 값 찾기
두 개의 값 'heads'
와 'tails'
로 categorical형 배열을 만듭니다.
A = categorical({'heads' 'heads' 'tails'; 'tails' 'heads' 'tails'})
A = 2x3 categorical
heads heads tails
tails heads tails
'heads'
범주에서 모든 값을 찾습니다
A == 'heads'
ans = 2x3 logical array
1 1 0
0 1 0
논리값 1
(true
)은 범주에 값이 있음을 나타냅니다.
A
의 행이 동일한지 비교합니다.
A(1,:) == A(2,:)
ans = 1x3 logical array
0 1 1
논리값 1
(true
)은 행의 범주 값이 동일한 경우를 나타냅니다.
부동소수점 숫자 비교
십진수 텍스트로 표현된 많은 숫자들은 이진 부동소수점 숫자로 정확히 표현할 수 없습니다. 이로 인해 ==
연산자가 나타내는 결과에 약간의 차이가 생기게 됩니다.
십진수로 표현된 숫자에 뺄셈 연산을 몇 번 수행하고 결과를 C
에 저장합니다.
C = 0.5-0.4-0.1
C = -2.7756e-17
정확한 십진 산술 연산의 경우 C
는 정확히 0
이어야 합니다. 그런데 이렇게 작은 값으로 결과가 나타난 것은 이진 부동소수점 산술의 특징 때문입니다.
C
와 0
이 동일한지 비교합니다.
C == 0
ans = logical
0
==
대신 허용오차 tol
을 사용하여 부동소수점 숫자를 비교합니다.
tol = eps(0.5); abs(C-0) < tol
ans = logical
1
두 숫자 C
와 0
은 0.5
근처의 연속된 두 부동소수점 숫자 간의 거리보다 서로 더 가까이 있습니다. 많은 경우, C
는 0
처럼 동작할 수 있습니다.
datetime형 값 비교
두 datetime
형 배열의 요소를 비교합니다.
서로 다른 표준 시간대의 datetime
형 배열을 두 개 만듭니다.
t1 = [2014,04,14,9,0,0;2014,04,14,10,0,0]; A = datetime(t1,'TimeZone','America/Los_Angeles'); A.Format = 'd-MMM-y HH:mm:ss Z'
A = 2x1 datetime
14-Apr-2014 09:00:00 -0700
14-Apr-2014 10:00:00 -0700
t2 = [2014,04,14,12,0,0;2014,04,14,12,30,0]; B = datetime(t2,'TimeZone','America/New_York'); B.Format = 'd-MMM-y HH:mm:ss Z'
B = 2x1 datetime
14-Apr-2014 12:00:00 -0400
14-Apr-2014 12:30:00 -0400
A
의 요소와 B
의 요소가 같은 위치를 확인합니다.
A==B
ans = 2x1 logical array
1
0
테이블 비교하기
R2023a 이상
두 개의 테이블을 만든 다음 둘을 비교합니다. 행 이름(두 테이블에 모두 있는 경우)과 변수 이름은 동일해야 하지만, 순서는 같지 않아도 됩니다. 출력값의 행과 변수는 첫 번째 입력값과 순서가 동일합니다.
A = table([1;2],[3;4],VariableNames=["V1","V2"],RowNames=["R1","R2"])
A=2×2 table
V1 V2
__ __
R1 1 3
R2 2 4
B = table([4;2],[3;1],VariableNames=["V2","V1"],RowNames=["R2","R1"])
B=2×2 table
V2 V1
__ __
R2 4 3
R1 2 1
A == B
ans=2×2 table
V1 V2
_____ _____
R1 true false
R2 false true
입력 인수
A
, B
— 피연산자
스칼라 | 벡터 | 행렬 | 다차원 배열 | 테이블 | 타임테이블
피연산자로, 스칼라, 벡터, 행렬, 다차원 배열, 테이블 또는 타임테이블로 지정됩니다. 입력 인수 A
와 B
는 동일한 크기이거나 호환되는 크기를 가져야 합니다. 후자의 예로는 A
가 M
×N
행렬이고 B
가 스칼라이거나 1
×N
행 벡터인 경우를 들 수 있습니다. 자세한 내용은 기본 연산에 대해 호환되는 배열 크기 항목을 참조하십시오.
모든 유형의 숫자형 입력값을 비교할 수 있으며, 비교 시 유형 변환으로 인한 정밀도 손실이 발생하지 않습니다.
한쪽 입력값이
categorical
형 배열인 경우 다른 쪽 입력값은categorical
형 배열, 문자형 벡터로 구성된 셀형 배열 또는 단일 문자형 벡터일 수 있습니다. 단일 문자형 벡터는 다른 쪽 입력값과 동일한 크기의 문자형 벡터로 구성된 셀형 배열로 확장됩니다. 양쪽 입력값이 모두 순서형categorical
형 배열인 경우 이 입력값들은 순서를 포함하여 범주 집합이 동일해야 합니다. 양쪽 입력값이 순서형이 아닌categorical
형 배열인 경우 범주가 각기 다를 수 있습니다. 자세한 내용은 categorical형 배열 요소 비교하기 항목을 참조하십시오.한쪽 입력값이
datetime
형 배열인 경우 다른 쪽 입력값은datetime
형 배열, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열일 수 있습니다.한쪽 입력값이
duration
형 배열인 경우 다른 쪽 입력값은duration
형 배열이거나 숫자형 배열일 수 있습니다. 연산자는 각 숫자형 값을 표준 24시간 일수로 처리합니다.한쪽 입력값이 string형 배열인 경우 다른 쪽 입력값은 string형 배열, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열일 수 있습니다.
A
와B
의 대응하는 요소는 사전식(Lexicographically)으로 비교됩니다.
테이블이거나 타임테이블인 입력값은 다음 조건을 충족해야 합니다. (R2023a 이후)
입력값이 테이블 또는 타임테이블인 경우 해당 테이블의 모든 변수는 연산을 지원하는 데이터형을 가져야 합니다.
입력값 중 하나만 테이블 또는 타임테이블인 경우 다른 입력값은 숫자형 배열이거나 논리형 배열이어야 합니다.
두 입력값이 모두 테이블 또는 타임테이블인 경우에는 다음을 충족해야 합니다.
두 입력값의 크기가 동일하거나, 두 입력값 중 하나가 행이 한 개 있는 테이블이어야 합니다.
두 입력값이 모두 동일한 이름의 변수를 가져야 합니다. 그러나 각 입력값의 변수 순서는 다를 수 있습니다.
두 입력값이 모두 테이블이고 두 테이블 모두 행 이름을 갖는 경우 두 테이블의 행 이름은 동일해야 합니다. 그러나 각 입력값의 행 이름 순서는 다를 수 있습니다.
두 입력값이 모두 타임테이블인 경우 두 테이블의 행 시간값은 동일해야 합니다. 그러나 각 입력값의 행 시간값 순서는 다를 수 있습니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| string
| categorical
| datetime
| duration
| table
| timetable
복소수 지원 여부: 예
팁
핸들 객체를 비교하는 경우
==
를 사용하여 객체의 핸들이 동일한지 여부를 테스트하십시오. 핸들이 서로 다른, 객체의 속성값이 동일한지 여부를 확인하려면isequal
을 사용하십시오.
확장 기능
tall형 배열
메모리에 담을 수 없을 정도로 많은 행을 가진 배열을 계산할 수 있습니다.
이 함수는 tall형 배열을 완전히 지원합니다. 자세한 내용은 tall형 배열 항목을 참조하십시오.
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
코드 생성에서는
eq
함수를 사용해 열거형 멤버와 string형 배열, 문자형 배열 또는 문자형 배열로 구성된 셀형 배열이 서로 같은지 테스트할 수 없습니다.
HDL 코드 생성
HDL Coder™를 사용하여 FPGA나 ASIC 설계용의 Verilog 코드나 VHDL 코드를 생성할 수 있습니다.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
이 함수는 GPU 배열을 완전히 지원합니다. 자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
분산 배열
Parallel Computing Toolbox™를 사용하여 대규모 배열을 클러스터의 결합된 메모리에 걸쳐 분할할 수 있습니다.
이 함수는 분산 배열을 완전히 지원합니다. 자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨R2023a: 테이블 및 타임테이블에 대해 직접 연산 수행
eq
연산자는 테이블이나 타임테이블 내의 변수에 액세스하기 위한 인덱싱 없이 테이블과 타임테이블에 대한 직접 연산을 지원합니다. 모든 변수는 연산을 지원하는 데이터형을 가져야 합니다. 자세한 내용은 Direct Calculations on Tables and Timetables 항목을 참조하십시오.
R2020b: 묵시적 확장 변경 사항이 categorical
형 배열, datetime
형 배열 및 duration
형 배열에 영향을 줌
R2020b부터 eq
함수는 인수가 categorical
형 배열, datetime
형 배열 또는 duration
형 배열일 경우 묵시적 확장을 지원합니다. R2016b부터 R2020a까지는 숫자형과 string형에 대해서만 묵시적 확장이 지원되었습니다.
R2016b: 묵시적 확장 변경 사항이 연산자의 인수에 영향을 줌
R2016b부터는 묵시적 확장이 추가되어, 이전에 오류를 반환했던 기본 연산을 위한 일부 인수 조합이 이제는 결과를 생성합니다. 예를 들어, 이전에는 행 벡터와 열 벡터를 더할 수 없었지만 이제는 이러한 피연산자들도 덧셈에서 유효합니다. 즉, [1 2] + [1; 2]
와 같은 표현식은 이전에 크기 불일치 오류를 반환했지만 이제는 실행됩니다.
요소별 연산자를 사용하는 코드이면서 일치하지 않는 크기에 대해 이전에 반환됐던 오류와 관련된 코드라면(특히 try
/catch
블록 내에서) 해당 코드는 더 이상 이러한 오류를 포착하지 않을 수 있습니다.
기본 배열 연산에 필요한 입력 크기에 대한 자세한 내용은 기본 연산에 대해 호환되는 배열 크기 항목을 참조하십시오.
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)