이전: 서로 다른 크기인 자료형간 연산, 상위 문서: 수치 자료형   [차례][찾아보기]


4.8 수치 객체 서술

풀그림 실행 중에 변수 자료형이 변할 수 있기 떄문에 실행 시간에 자료형 확인이 필요합니다. 이는 또한 입력 자료형에 의존하는 함수 행동을 제어 가능합니다. 예를 들어, 아래처럼 엉성하게 구성된 abs는 실수가 입력되면 절댓값을 반환하고, 복소수가 입력되면 입력 길이를 반환합니다.

function a = abs (x)
  if (isreal (x))
    a = sign (x) .* x;
  elseif (iscomplex (x))
    a = sqrt (real(x).^2 + imag(x).^2);
  endif
endfunction

이하 함수는 변수 자료형을 확인하고 재지정하는 데에 사용합니다.

isnumeric (가로)

가로가 정수, 실수, 복소수 배열 같은 수치 객체면 참을 반환합니다.

논리 값 및 문자 배열은 수치로 취급되지 않습니다.

같이 보기: isinteger, isfloat, isreal, iscomplex, ischar, islogical, isstring, iscell, isstruct, isa.

islogical (가로)
isbool (가로)

가로가 논리 객체이면 참을 반환합니다.

같이 보기: ischar, isfloat, isinteger, isstring, isnumeric, isa.

isfloat (가로)

가로가 부동소수점 수치 객체면 참을 반환합니다.

배정도 또는 단정도 분류인 객체는 부동소수점 객체입니다.

같이 보기: isinteger, ischar, islogical, isnumeric, isstring, isa.

isreal (가로)

가로가 복소수가 아닌 수치 행렬이거나 스칼라이면 참을 반환합니다.

매트랩과의 호환을 위해, 논리 행렬과 문자 행렬을 포함합니다.

같이 보기: iscomplex, isnumeric, isa.

iscomplex (가로)

가로가 복소수 숫자 객체면 참을 반환합니다.

같이 보기: isreal, isnumeric, ischar, isfloat, islogical, isstring, isa.

ismatrix (a)

asize (a)가 반환한 음이 아닌 M, N으로 이루어진 [M N]인 2차원 배열이면 참을 반환합니다.

같이 보기: isscalar, isvector, iscell, isstruct, issparse, isa.

isvector (가로)

가로가 벡터이면 참을 반환합니다.

2차원 배열인 벡터는 한 개 차원이 1입니다. 1x1 배열과 스칼라도 벡터입니다.

같이 보기: isscalar, ismatrix, size, rows, columns, length.

isrow (가로)

가로size (가로)가 반환하는 음이 아닌 N인 [1 N]같은 행 벡터이면 참을 반환합니다.

같이 보기: iscolumn, isscalar, isvector, ismatrix.

iscolumn (가로)

가로size (가로)가 반환하는 음이 아닌 N인 [N 1]같은 열 벡터이면 참을 반환합니다.

같이 보기: isrow, isscalar, isvector, ismatrix.

isscalar (가로)

가로size (가로)가 반환하는 [1 1]같은 스칼라이면 참을 반환합니다.

같이 보기: isvector, ismatrix.

issquare (가로)

가로size (가로)가 반환하는 음이 아닌 N인 [N N]같은 정사각형 행렬이면 참을 반환합니다.

같이 보기: isscalar, isvector, ismatrix, size.

issymmetric (A)
issymmetric (A, tol)
issymmetric (A, "skew")
issymmetric (A, "skew", 허용)

A가  허용이 지정한 허용 범위 안에서 대칭 행렬 또는 반대칭 행렬이면 참을 반환합니다.

기본 허용은 0입니다.(빠른 부호 사용)

선택 매개변수로 "nonskew" (기본 값)를 입력하여 대칭 형태만 허용할 수도 있고, "skew"를 입력하여 반대칭 형태만 허용할 수도 있습니다.

상세 설명: 대칭 행렬은 A == A.'으로써 행렬을 뒤집어도 원 행렬과 동일해야 합니다. 허용 범위가 지정되면, 대칭 여부는 norm (A - A.', Inf) / norm (A, Inf) < 허용으로 판단합니다.

반대칭 행렬은 A == -A.'으로써 행렬을 뒤집으면 원 행렬의 음과 동일해야 합니다. 허용 범위가 지정되면, 반대칭 여부는 norm (A + A.', Inf) / norm (A, Inf) < 허용으로 판단합니다.

같이 보기: ishermitian, isdefinite.

ishermitian (A)
ishermitian (A, tol)
ishermitian (A, "skew")
ishermitian (A, "skew", 허용)

A가  허용이 지정한 허용 범위 안에서 자기 수반 행렬 또는 반자기 수반 행렬이면 참을 반환합니다.

기본 허용은 0입니다.(빠른 부호 사용)

선택 매개변수로 "nonskew" (기본 값)를 입력하여 자기 수반 형태만 허용할 수도 있고, "skew"를 입력하여 반자기 수반 형태만 허용할 수도 있습니다.

상세 설명: 자기 수반 행렬은 A == A'으로써 행렬의 켤래 복소수 전치가 원 행렬과 동일해야 합니다. 허용 범위가 지정되면, 자기 수반 여부는 norm (A - A', Inf) / norm (A, Inf) < 허용으로 판단합니다.

반자기 수반 행렬은 A == -A'으로써 행렬의 켤래 복소수 전치가 원 행렬의 음과 동일해야 합니다. 허용 범위가 지정되면, 반자기 수반 여부는 norm (A + A', Inf) / norm (A, Inf) < 허용으로 판단합니다.

같이 보기: issymmetric, isdefinite.

isdefinite (A)
isdefinite (A, 허용)

A가  허용이 지정한 허용 범위 안에서 대칭인 양의 정부호 행렬이면 참을 반환합니다.

허용이 지정되지 않으면, 100 * eps * norm (A, "fro")을 사용합니다.

상세 설명: 양의 정부호 행렬은 모두가 0보다 큰 고유치를 갖습니다. 양의 준정부호 행렬은 모두가 0 이상인 고유치를 갖습니다. 행렬 A는 아래 두 조건을 적절하게 작은 허용 범위 tol에서 만족할 때는 양의 준정부호 행렬에 더 가깝습니다.

isdefinite (A) ⇒ 0
isdefinite (A + 5*tol, tol) ⇒ 1

같이 보기: issymmetric, ishermitian.

isbanded (A, 하한, 상한)

A가 주대각선 아래에 있는 하한 대각선과 주대각선 위에 있는 상한 대각선 사이에 제한된 원소가 있는 행렬이면 참을 반환합니다.

하한상한은 반드시 음이 아닌 정수이어야 합니다.

같이 보기: isdiag, istril, istriu, bandwidth.

isdiag (A)

A가 대각행렬이면 참을 반환합니다.

같이 보기: isbanded, istril, istriu, diag, bandwidth.

istril (A)

A가 하삼각행렬이면 참을 반환합니다.

하삼각행렬에서는 0이 아닌 수가 주대각선과 그 아래에만 있습니다.

같이 보기: istriu, isbanded, isdiag, tril, bandwidth.

istriu (A)

A가 상삼각행렬이면 참을 반환합니다.

하삼각행렬에서는 0이 아닌 수가 주대각선과 그 위에만 있습니다.

같이 보기: isdiag, isbanded, istril, triu, bandwidth.

isprime (가로)

가로의 원소가 소수인 지점은 참이고, 소수가 아닌 지점은 거짓인 논리 배열을 반환합니다.

소수는 관습적으로 1보다 큰 양의 정수 중 자신과 1로만 나누어 떨어지는 수를 뜻합니다. 옥타브에서는 이 개념을 음수와 복소수로 확장합니다. 음의 정수인 소수는 대응하는 양수가 소수입니다. 이는 isprime (abs (x))과 동일합니다.

class (가로)가 복소수이면, 가우스 정수 영역(https://ko.wikipedia.org/wiki/가우스_정수)에서 소수 판정을 합니다. 일부 복소수가 아닌 정수는 보편적인 방법에서는 소수이지만, 가우스 정수에서는 아닙니다. 예를 들어, 5 = (1+2i)*(1-2i)는 5가 자신과 1 이외의 인수를 보이기 때문에 소수가 아니라고 판정합니다. 복소수와 실수를 같은 행렬 안에서 처리할 때, 주의하십시오.

예시:

isprime (1:6)
  ⇒  0  1  1  0  1  0
isprime ([i, 2, 3, 5])
  ⇒  0  0  1  0

풀그림 짜기 안내: isprime에서 가로의 최댓값이 너무 크지 않아야(< 1e15) 합니다. 큰 값은 특수 목적 인수 분해 부호를 사용하여야 합니다.

호환 안내: 매트랩은 위의 확장된 복소수 소수 정의를 사용하지 않으며, 음수나 복소수가 입력되면 오류가 납니다.

같이 보기: primes, factor, gcd, lcm.

대신 변수 특성을 보려면, 정의된 변수와 작업 공간에 대한 다른 정보가 변수 상태에 있습니다.


이전: 서로 다른 크기인 자료형간 연산, 상위 문서: 수치 자료형   [차례][찾아보기]