이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
eq, ==
동일성(Equality) 확인
설명
예제
실수와 허수를 모두 포함하는 두 개의 벡터를 만든 다음 두 벡터가 동일한지 비교합니다.
A = [1+i 3 2 4+i]; B = [1 3+i 2 4+i]; A == B
ans = 1×4 logical array
0 0 1 1
eq
함수는 실수부와 허수부가 동일한지 테스트하고 두 부분이 모두 동일한 경우에만 논리값 1
(true
)을 반환합니다.
문자형 벡터를 만듭니다.
M = 'magenta';
==
를 사용하여 특정 문자가 있는지 테스트합니다.
M == 'e'
ans = 1×7 logical array
0 0 0 1 0 0 0
논리값 1
(true
)은 문자 'e'
가 있음을 나타냅니다.
두 개의 값 'heads'
와 'tails'
로 categorical형 배열을 만듭니다.
A = categorical({'heads' 'heads' 'tails'; 'tails' 'heads' 'tails'})
A = 2×3 categorical
heads heads tails
tails heads tails
'heads'
범주에서 모든 값을 찾습니다
A == 'heads'
ans = 2×3 logical array
1 1 0
0 1 0
논리값 1
(true
)은 범주에 값이 있음을 나타냅니다.
A
의 행이 동일한지 비교합니다.
A(1,:) == A(2,:)
ans = 1×3 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
형 배열을 두 개 만듭니다.
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 = 2×1 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 = 2×1 datetime
14-Apr-2014 12:00:00 -0400
14-Apr-2014 12:30:00 -0400
A
의 요소와 B
의 요소가 같은 위치를 확인합니다.
A==B
ans = 2×1 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
가 M
×N
행렬이고 B
가 스칼라이거나 1
×N
행 벡터인 경우를 들 수 있습니다. 자세한 내용은 기본 연산에 대해 호환되는 배열 크기 항목을 참조하십시오.
모든 유형의 숫자형 입력값을 비교할 수 있으며, 비교 시 유형 변환으로 인한 정밀도 손실이 발생하지 않습니다.
한쪽 입력값이 순서형
categorical
형 배열인 경우 다른 쪽 입력값은 순서형categorical
형 배열이거나categorical
형 값을 나타내는 string형 스칼라 또는 문자형 벡터일 수 있습니다. 양쪽 입력값이 모두 순서형categorical
형 배열인 경우 이 입력값들은 순서를 포함하여 범주 집합이 동일해야 합니다. 자세한 내용은 categorical형 배열 요소 비교하기 항목을 참조하십시오.한쪽 입력값이
datetime
형 배열인 경우 다른 쪽 입력값은datetime
형 배열이거나 날짜/시간을 나타내는 string형 스칼라 또는 문자형 벡터일 수 있습니다. 자세한 내용은 날짜/시간 비교하기 항목을 참조하십시오.한쪽 입력값이
duration
형 배열인 경우 다른 쪽 입력값은duration
형 배열이거나, 시간 길이를 나타내는 string형 스칼라 또는 문자형 벡터이거나, 각 요소가 고정 길이 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
을 사용하십시오.
확장 기능
eq
함수는 tall형 배열을 완전히 지원합니다. 자세한 내용은 tall형 배열 항목을 참조하십시오.
사용법 관련 참고 및 제한 사항:
코드 생성에서는
eq
함수를 사용해 열거형 멤버와 string형 배열, 문자형 배열 또는 문자형 배열로 구성된 셀형 배열이 서로 같은지 테스트할 수 없습니다.
HDL 코드 생성
HDL Coder™를 사용하여 FPGA 및 ASIC 설계를 위한 VHDL, Verilog 및 SystemVerilog 코드를 생성할 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
eq
함수는 GPU 배열 입력값을 지원하지만 다음과 같은 사용법 관련 참고 및 제한 사항이 있습니다.
희소 형식의
gpuArray
피연산자는 지원되지 않습니다.
자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
이 함수는 분산 배열을 완전히 지원합니다. 자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨eq
연산자는 테이블이나 타임테이블 내의 변수에 액세스하기 위한 인덱싱 없이 테이블과 타임테이블에 대한 직접 연산을 지원합니다. 모든 변수는 연산을 지원하는 데이터형을 가져야 합니다. 자세한 내용은 테이블 및 타임테이블에 대해 직접 계산 항목을 참조하십시오.
R2020b부터 eq
함수는 인수가 categorical
형 배열, datetime
형 배열 또는 duration
형 배열일 경우 묵시적 확장을 지원합니다. R2016b부터 R2020a까지는 숫자형과 string형에 대해서만 묵시적 확장이 지원되었습니다.
R2016b부터는 묵시적 확장이 추가되어, 이전에 오류를 반환했던 기본 연산을 위한 일부 인수 조합이 이제는 결과를 생성합니다. 예를 들어, 이전에는 행 벡터와 열 벡터를 더할 수 없었지만 이제는 이러한 피연산자들도 덧셈에서 유효합니다. 즉, [1 2] + [1; 2]
와 같은 표현식은 이전에 크기 불일치 오류를 반환했지만 이제는 실행됩니다.
요소별 연산자를 사용하는 코드이면서 MATLAB®이 이전에 크기 불일치에 대해(특히 try
/catch
블록 내에서) 반환하던 오류에 의존하는 코드라면, 해당 코드는 더 이상 이러한 오류를 캐치하지 않을 수 있습니다.
기본 배열 연산에 필요한 입력 크기에 대한 자세한 내용은 기본 연산에 대해 호환되는 배열 크기 항목을 참조하십시오.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- 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)