Main Content

isequal

배열의 동일성 확인

설명

예제

tf = isequal(A,B)AB가 동일하면 논리값 1(true)을 반환하고 동일하지 않으면 논리값 0(false)을 반환합니다. 각 데이터형의 동일성에 대한 정의는 입력 인수 섹션을 참조하십시오. NaN(Not-a-Number), NaT(Not-a-Time), 정의되지 않은 categorical형 요소와 <missing> 값은 다른 요소뿐 아니라 자기 자신과도 동일하지 않은 것으로 간주됩니다.

NaN, NaT, <undefined><missing> 값을 서로 동일한 것으로 처리하려면 isequaln을 사용하십시오.

예제

tf = isequal(A1,A2,...,An)은 모든 입력값이 동일하면 논리값 1(true)을 반환합니다.

예제

모두 축소

두 개의 숫자형 행렬을 만들고 같은지 확인합니다.

A = zeros(3,3)+1e-20;
B = zeros(3,3);
tf = isequal(A,B)
tf = logical
   0

두 행렬은 매우 조금 다르지만 정확히 일치하지는 않으므로 이 함수는 논리값 0(false)을 반환합니다.

두 개의 구조체를 만들고 필드를 다른 순서로 지정합니다.

A = struct('field1',0.005,'field2',2500);
B = struct('field2',2500,'field1',0.005);

구조체가 서로 같은지 확인합니다.

tf = isequal(A,B)
tf = logical
   1

각 구조체의 필드 순서가 다르더라도 값은 동일하므로 isequal은 이 두 구조체를 동일하게 취급합니다.

논리값 true를 double형 정수 1과 비교합니다.

isequal(true,1)
ans = logical
   1

isequal은 동일성을 테스트할 때 데이터형은 고려하지 않습니다.

마찬가지로, 'A'를 ASCII에 해당하는 정수 65와 비교합니다.

isequal('A',65)
ans = logical
   1

double('A')65와 같으므로 결과는 논리값 1(true)입니다.

NaN 값을 포함하는 세 개의 벡터를 만듭니다.

A1 = [1 NaN NaN];
A2 = [1 NaN NaN];
A3 = [1 NaN NaN];

벡터가 서로 같은지 확인합니다.

tf = isequal(A1,A2,A3)
tf = logical
   0

isequal은 NaN 값을 동일한 값으로 취급하지 않으므로 결과는 논리값 0(false)입니다.

알래스카주 앵커리지의 2013년 1월 13일 자정이 카이로에서 같은 날짜의 오전 11시와 같은지 확인합니다.

t1 = datetime(2013,1,13,0,0,0,'TimeZone','America/Anchorage');
t2 = datetime(2013,1,13,11,0,0,'TimeZone','Africa/Cairo');
tf = isequal(t1,t2)
tf = logical
   1

날짜에 8개월을 더한 다음 datetime형 값이 동일한지 비교합니다.

t1 = datetime(2013,9,13,0,0,0,'TimeZone','America/Anchorage');
t2 = datetime(2013,9,13,11,0,0,'TimeZone','Africa/Cairo');
tf = isequal(t1,t2)
tf = logical
   0

카이로는 일광 절약 시간제를 따르지 않으므로 datetime형 값이 더 이상 같지 않습니다.

문자형 벡터와 string형 스칼라는 크기와 데이터형은 다르지만 isequal은 동일한 문자 시퀀스를 갖는 문자형 벡터와 string형 스칼라를 비교할 때 논리값 1(true)을 반환합니다.

isequal("foo",'foo')
ans = logical
   1

입력 인수

모두 축소

비교할 입력값으로, 배열로 지정됩니다.

경우에 따라 입력값의 데이터형은 일치하지 않아도 됩니다.

  • 숫자형 입력값은 크기가 같고 내용이 동일한 값으로 되어 있으면 같다고 간주합니다. 테스트에서는 숫자형 배열의 실수부와 허수부를 개별적으로 비교합니다.

  • table형, timetable형, 구조체형과 셀형 배열은 모든 요소와 속성이 동일한 경우에만 서로 같다고 간주합니다.

  • 동일한 문자 시퀀스를 갖는 string형 스칼라와 문자형 벡터는 서로 같다고 간주합니다.

일부 데이터형의 비교에는 메타데이터와 관련된 특별한 고려 사항이 적용됩니다. 모든 입력값이 다음 데이터형인 경우를 살펴보십시오.

  • 구조체인 경우 — 내용이 같은 경우에 한해 필드가 동일한 순서가 아니어도 됩니다.

  • 순서형 categorical형 배열인 경우 — 범주의 순서를 포함하여 동일한 범주 집합을 가져야 합니다.

  • 순서형이 아닌 categorical형 배열인 경우 — 다른 범주의 집합을 가질 수 있으며 isequal 함수는 각 요소 쌍의 범주 이름을 비교합니다.

  • datetime형 배열인 경우 — isequal 함수는 특정 시간을 비교할 때 표시 형식을 무시합니다. 모든 배열이 표준 시간대와 연결된 경우, isequal 함수는 액면 시간이 아닌 시간의 순간을 비교합니다(예를 들어, 01-May-2018 09:00:00 EDT01-May-2018 06:00:00 PDT와 동일한 순간이므로 액면 시간이 9:00와 6:00으로 달라도 isequal 함수는 true를 반환합니다).

  • 객체인 경우 — isequal 함수는 동일한 속성값을 갖는 같은 동일한 클래스의 객체에 대해 논리값 1(true)을 반환합니다.

비교할 일련의 입력값으로, 배열로 지정됩니다.

경우에 따라 입력값의 데이터형은 일치하지 않아도 됩니다.

  • 숫자형 입력값은 크기가 같고 내용이 동일한 값으로 되어 있으면 같다고 간주합니다. 테스트에서는 숫자형 배열의 실수부와 허수부를 개별적으로 비교합니다.

  • table형, timetable형, 구조체형과 셀형 배열은 모든 요소와 속성이 동일한 경우에만 서로 같다고 간주합니다.

  • 동일한 문자 시퀀스를 갖는 string형 스칼라와 문자형 벡터는 서로 같다고 간주합니다.

일부 데이터형의 비교에는 메타데이터와 관련된 특별한 고려 사항이 적용됩니다. 모든 입력값이 다음 데이터형인 경우를 살펴보십시오.

  • 구조체인 경우 — 내용이 같은 경우에 한해 필드가 동일한 순서가 아니어도 됩니다.

  • 순서형 categorical형 배열인 경우 — 범주의 순서를 포함하여 동일한 범주 집합을 가져야 합니다.

  • 순서형이 아닌 categorical형 배열인 경우 — 다른 범주의 집합을 가질 수 있으며 isequal 함수는 각 요소 쌍의 범주 이름을 비교합니다.

  • datetime형 배열인 경우 — isequal 함수는 특정 시간을 비교할 때 표시 형식을 무시합니다. 모든 배열이 표준 시간대와 연결된 경우, isequal 함수는 액면 시간이 아닌 시간의 순간을 비교합니다(예를 들어, 01-May-2018 09:00:00 EDT01-May-2018 06:00:00 PDT와 동일한 순간이므로 액면 시간이 9:00와 6:00으로 달라도 isequal 함수는 true를 반환합니다).

  • 객체인 경우 — isequal 함수는 동일한 속성값을 갖는 같은 동일한 클래스의 객체에 대해 논리값 1(true)을 반환합니다.

  • 두 함수 핸들의 동일성은 이들 함수 핸들이 생성된 방식에 따라 달라집니다. 자세한 내용은 함수 핸들 비교하기 항목을 참조하십시오.

  • isequal은 동적 속성이 있는 두 객체에 대해서는 속성의 이름과 값이 같더라도 논리값 0(false)을 반환합니다.

  • isequal은 두 객체가 동일한지 테스트할 경우 저장된 (Dependent 이외의) 속성만 비교합니다.

  • 두 개의 핸들 객체를 비교하는 경우 ==를 사용하여 객체의 핸들이 동일한지 여부를 테스트하십시오. 핸들이 서로 다른 두 객체의 속성값이 동일한지 여부를 확인하려면 isequal을 사용하십시오.

  • 빈 객체 배열을 비교할 때 isequal은 배열의 크기와 클래스가 동일한 경우에만 논리값 1(true)을 반환합니다.

확장 기능

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

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

버전 내역

R2006a 이전에 개발됨

모두 확장