MATLAB-연산자

연산자는 컴파일러에게 특정 수학적 또는 논리적 조작을 수행하도록 지시하는 기호입니다. MATLAB은 주로 전체 행렬과 배열에서 작동하도록 설계되었습니다. 따라서 MATLAB의 연산자는 스칼라 데이터와 비스 칼라 데이터 모두에서 작동합니다. MATLAB은 다음 유형의 기본 연산을 허용합니다.

  • 산술 연산자
  • 관계 연산자
  • 논리 연산자
  • 비트 연산
  • 작업 설정

산술 연산자

MATLAB은 두 가지 유형의 산술 연산을 허용합니다.

  • 행렬 산술 연산
  • 배열 산술 연산

행렬 산술 연산은 선형 대수에 정의 된 것과 동일합니다. 배열 작업은 1 차원 및 다차원 배열에서 요소별로 실행됩니다.

행렬 연산자와 배열 연산자는 마침표 (.) 기호로 구분됩니다. 그러나 더하기 및 빼기 연산이 행렬과 배열에 대해 동일하므로 연산자는 두 경우 모두 동일합니다. 다음 표는 연산자에 대한 간략한 설명을 제공합니다.

예시보기

Sr. 아니. 연산자 및 설명
1

+

더하기 또는 단항 더하기. A + B는 변수 A와 B에 저장된 값을 더합니다. A와 B는 하나가 스칼라가 아닌 한 동일한 크기를 가져야합니다. 모든 크기의 행렬에 스칼라를 추가 할 수 있습니다.

2

-

빼기 또는 단항 빼기. AB는 A에서 B의 값을 뺍니다. 스칼라가 아닌 경우 A와 B는 크기가 같아야합니다. 스칼라는 모든 크기의 행렬에서 뺄 수 있습니다.

*

행렬 곱셈. C = A * B는 행렬 A와 B의 선형 대수적 곱입니다.보다 정확하게는

스칼라가 아닌 A와 B의 경우 A의 열 수는 B의 행 수와 같아야합니다. 스칼라는 모든 크기의 행렬을 곱할 수 있습니다.

4

.*

배열 곱셈. A. * B는 배열 A와 B의 요소 별 곱입니다. A와 B 중 하나가 스칼라가 아닌 경우 A와 B는 크기가 같아야합니다.

5

/

슬래시 또는 행렬 오른쪽 나누기. B / A는 B * inv (A)와 거의 같습니다. 보다 정확하게는 B / A = (A '\ B') '입니다.

6

./

오른쪽 분할을 배열합니다. A./B는 A (i, j) / B (i, j) 요소가있는 행렬입니다. A와 B 중 하나가 스칼라가 아닌 경우 크기가 같아야합니다.

7

\

백 슬래시 또는 행렬 왼쪽 나누기. A가 정사각형 행렬 인 경우 A \ B는 다른 방식으로 계산된다는 점을 제외하면 inv (A) * B와 거의 동일합니다. A가 nxn 행렬이고 B가 n 개의 성분이있는 열 벡터이거나 이러한 열이 여러 개있는 행렬이면 X = A \ B가 방정식 AX = B의 해 입니다. A의 배율이 잘못 조정되었거나 거의 특이한 경우 경고 메시지가 표시됩니다.

8

.\

배열 왼쪽 분할. A. \ B는 요소 B (i, j) / A (i, j)가있는 행렬입니다. A와 B 중 하나가 스칼라가 아닌 경우 크기가 같아야합니다.

9

^

매트릭스 파워. p가 스칼라 인 경우 X ^ p는 X의 제곱 p입니다. p가 정수이면 거듭 제곱을 통해 검정력이 계산됩니다. 정수가 음수이면 X가 먼저 반전됩니다. 다른 p 값의 경우 계산에는 고유 값과 고유 벡터가 포함되어 [V, D] = eig (X)이면 X ^ p = V * D. ^ p / V입니다.

10

.^

어레이 전력. A. ^ B는 B (i, j) 거듭 제곱에 대한 요소 A (i, j)를 갖는 행렬입니다. A와 B 중 하나가 스칼라가 아닌 경우 크기가 같아야합니다.

11

'

행렬 전치. A '는 A의 선형 대수 전치입니다. 복소 행렬의 경우 이것은 복소 켤레 전치입니다.

12

.'

배열 전치. ㅏ.' A의 배열 전치입니다. 복잡한 행렬의 경우 켤레가 포함되지 않습니다.

관계 연산자

관계 연산자는 스칼라 및 비스 칼라 데이터 모두에서 작동 할 수도 있습니다. 배열에 대한 관계 연산자는 두 배열간에 요소 별 비교를 수행하고 요소가 논리 1 (true)로 설정되고 관계가 true 인 경우 요소가 논리 0 (false)으로 설정된 경우 동일한 크기의 논리 배열을 반환합니다. 아니.

다음 표는 MATLAB에서 사용할 수있는 관계 연산자를 보여줍니다.

예시보기

Sr. 아니. 연산자 및 설명
1

<

이하

2

<=

작거나 같음

>

보다 큰

4

>=

크거나 같음

5

==

동일

6

~=

같지 않음

논리 연산자

MATLAB은 두 가지 유형의 논리 연산자와 함수를 제공합니다.

  • 요소 별-이 연산자는 논리 배열의 해당 요소에서 작동합니다.

  • 단락-이 연산자는 스칼라 및 논리 표현식에서 작동합니다.

요소 별 논리 연산자는 논리 배열에서 요소별로 작동합니다. &, | 및 ~ 기호는 논리 배열 연산자 AND, OR 및 NOT입니다.

단락 논리 연산자는 논리 연산에서 단락을 허용합니다. 기호 && 및 || 논리 단락 연산자 AND 및 OR입니다.

예시보기

비트 연산

비트 연산자는 비트에 대해 작업하고 비트 단위 연산을 수행합니다. &, |, ^의 진리표는 다음과 같습니다.

p & q p | 큐 피 ^ q
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1

A = 60이라고 가정합니다. 그리고 B = 13; 이제 바이너리 형식으로 다음과 같이됩니다.

A = 0011 1100

B = 0000 1101

-----------------

A & B = 0000 1100

A | B = 0011 1101

A ^ B = 0011 0001

~ A = 1100 0011

MATLAB은 'bitwise and', 'bitwise or'및 'bitwise not'연산, 시프트 연산 등과 같은 비트 연산을위한 다양한 함수를 제공합니다.

다음 표는 일반적으로 사용되는 비트 연산을 보여줍니다.

예시보기

함수 목적
bitand (a, b) 정수 ab 의 비트 단위 AND
bitcmp (a) 의 비트 단위 보완
bitget (a, pos) 정수 배열 a 의 지정된 위치 pos 에서 비트 가져 오기
bitor (a, b) 정수 ab 의 비트 단위 OR
bitset (a, pos) 특정 위치에서 설정 비트 POS
비트 시프트 (a, k) 2 k 를 곱하는 것과 동일한 k 비트 만큼 왼쪽으로 이동 된를 반환 합니다 . k의 음수 값은 비트를 오른쪽으로 이동하거나 2로 나눈 값 | k | 음의 무한대를 향해 가장 가까운 정수로 반올림합니다. 모든 오버플로 비트는 잘립니다.
bitxor (a, b) 정수 ab 의 비트 단위 XOR
스왑 바이트 바이트 순서 바꾸기

작업 설정

MATLAB은 집합 멤버십에 대한 합집합, 교차 및 테스트와 같은 집합 연산을위한 다양한 함수를 제공합니다.

다음 표는 일반적으로 사용되는 집합 연산을 보여줍니다.

예시보기

Sr. 아니. 기능 및 설명
1

intersect(A,B)

두 배열의 교차점을 설정합니다. A와 B에 공통된 값을 반환합니다. 반환 된 값은 정렬 된 순서로되어 있습니다.

2

intersect(A,B,'rows')

A의 각 행과 B의 각 행을 단일 항목으로 취급하고 A와 B 모두에 공통된 행을 반환합니다. 반환 된 행렬의 행은 정렬 된 순서입니다.

ismember(A,B)

A의 요소가 B에있는 경우 1 (true)을 포함하는 A와 동일한 크기의 배열을 반환합니다. 그렇지 않으면 0 (false)을 반환합니다.

4

ismember(A,B,'rows')

A의 각 행과 B의 각 행을 단일 항목으로 취급하고 행렬 A의 행도 B의 행인 1 (true)을 포함하는 벡터를 반환합니다. 그렇지 않으면 0 (false)을 반환합니다.

5

issorted(A)

A의 요소가 정렬 된 순서이면 논리 1 (true)을, 그렇지 않으면 논리 0 (false)을 반환합니다. 입력 값 A는 벡터이거나 string 형으로 구성된 nx1 또는 1xN 셀형 배열 일 수 있습니다.A is considered to be sorted if A 그리고 sort (A)의 출력은 같습니다.

6

issorted(A, 'rows')

2 차원 행렬 A의 행이 정렬 된 순서이면 논리 1 (true)을, 그렇지 않으면 논리 0 (false)을 반환합니다. Matrix A is considered to be sorted if A 그리고 sortrows (A)의 출력은 같습니다.

7

setdiff(A,B)

두 배열의 차이를 설정합니다. B에없는 A의 값을 반환합니다. 반환 된 배열의 값은 정렬 된 순서입니다.

8

setdiff(A,B,'rows')

A의 각 행과 B의 각 행을 단일 항목으로 취급하고 B에없는 A의 행을 반환합니다. 반환 된 행렬의 행은 정렬 된 순서입니다.

'rows'옵션은 셀형 배열을 지원하지 않습니다.

9

setxor

두 배열의 배타적 OR 설정

10

union

두 배열의 합집합을 설정합니다.

11

unique

배열의 고유 값