English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

MATLAB 연산자

연산자는 특정 수학적이거나 논리적 작업을 수행하도록 컴파일러에게 지시하는 기호입니다. MATLAB은 주로 전체 행렬과 배열에서 작동되도록 설계되었습니다. 따라서 MATLAB의 연산자는 단위 데이터와 비단위 데이터를 모두 처리할 수 있습니다. MATLAB은 다음과 같은 기본 연산을 허용합니다-

  • 수학 연산자

  • операторы отношений

  • 逻辑运算符

  • 비트 연산자

  • 集合运算符

수학 연산자

MATLAB은 두 가지 다른 유형의 수학 연산을 허용합니다-

  • 행렬 수학 연산

  • 배열 수학 연산

행렬 수학 연산은 선형대수에서 정의된 것과 같습니다. 배열 작업은 일维와 다중维 배열에서 각각의 요소에 대해 단계적으로 수행됩니다.

행렬 연산자와 배열 연산자는句点(。)기호로 구분됩니다. 하지만 행렬과 배열의 덧셈과 뺄셈 연산이 같기 때문에 두 경우의 연산자는 모두 같습니다. 다음 표는 연산자를 간단히 소개합니다.-

수학 연산자 예제

序号операторы и их описание
1

+

сумма или односторонний знак plus. A+B складывается с значениями, хранящимися в переменных A и B. A и B должны иметь одинаковый размер,unless одна из них является скаляром. Скаляр может быть добавлен к любой大小的 матрице.

2

-

вычитание или одностороннее вычитание. A-B вычитается из значений B из matrices A и B. A и B должны иметь одинаковый размер,unless одна из них является скаляром. Скаляр может вычитаться из любой大小的 матрицы.

3

*

множество матриц. C=A*B — это линейно-алгебраическое произведение матриц A и B. Более точно,

для нескалярных A и B, количество столбцов A должно быть равно числу строк B. Скаляр может быть умножен на любую大小的 матрицу.

4

.*

множество массивов. A.*B — это элементарное произведение элементов массивов A и B. A и B должны иметь одинаковый размер,unless одна из них является скаляром.

5

/

прямая или правое вычленение матрицы. B/A и B*inv(A) в основном одинаков. Более точно, B/A = (A'\B')'.

6

./

правое вычленение массива. A./B — это элемент A(i,j)/матрица B(i,j). A и B должны иметь одинаковый размер,unless одна из них является скаляром.

7

\

обратная косая или левое вычленение матрицы. Если A — квадратная матрица, то A\B — это обратная матрица A.*B в основном одинаков, но способ вычисления различается. Если A — это n×n-матрица, а B — это столбец-вектор, содержащий n компонентов, или матрица, содержащая несколько таких столбцов, то X=A\B — это решение уравнения AX=B. Если A значительно или几乎是 единичной, то будет отображено сообщение о предупреждении.

8

.\

слева вычленение массива. A.\B — это элемент B(i,j)/матрица A(i,j). A и B должны иметь одинаковый размер,unless одна из них является скаляром.

9

^

мощность матрицы. Если p — скаляр, то X^p — это p-я степень. Если p — целое число, то степень вычисляется через повторное возведение в квадрат. Если целое число отрицательное, то X сначала обратный. Для других значений p вычисление включает в себя собственные значения и собственные векторы, поэтому если [V, D] = eig(X), то X^p = V*D.^p/V.

10

.^

мощность массива. A.^B — это массив, в котором элемент A(i,j) поднят в степень B(i,j). A и B должны иметь одинаковы размер,除非 одна из них является скаляром.

11

'

транспонирование матрицы. A’ — это линейная алгебраическая транспонирование A. Для комплексных матриц это комплексное транспонированное транспонирование.

12

'.

транспонирование массива a’ — это транспонированный массив a. Для сложных матриц это не涉及到 сопряженности.

операторы отношений

операторы отношений также могут обрабатывать скалярные и нескалярные данные. Операторы отношений массивов выполняют элементарное сравнение элементов из двух массивов и возвращают массив логических элементов, установленных логически1(true),отношение равно true, элементы установлены логически 0(false). Нет.

в таблице показаны доступные операторы отношений в MATLAB-

примеры отношений операторов

序号операторы и их описание
1

<

меньше

2

<=

меньше или равно

3

>

больше

4

>=

больше или равно

5

==

равен

6

不等于

逻辑运算符

MATLAB提供两种类型的逻辑运算符和函数-

  • 元素级-这些运算符对逻辑数组的相应元素进行操作。

  • 短路-这些运算符对标量和逻辑表达式进行运算。

逐个元素的逻辑运算符在逻辑数组上逐个元素地进行操作。符号&,|和〜是逻辑数组运算符AND,OR和NOT。

短路逻辑运算符允许逻辑运算短路。符号&&和|| 是逻辑短路运算符AND和OR。

逻辑运算示例

按位运算

按位运算符对位进行运算并执行逐位运算。&,|和^的真值表如下-

pqp&qp | qp ^ Q
00000
01011
11110
10011

假设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为按位运算提供了各种功能,例如``按位与'',``按位或''和``按位非''运算,移位运算等。

下表显示了常用的按位运算-

按位运算示例

函数
作用
bitand(a, b)

整数 a 和 b 的位与

bitcmp(a)

a的逐位补码

bitget(a,pos)

在整数数组a的指定位置获取位

bitor(a, b)

整数a和b的位或

bitset(a, pos)

将bit设置为a的特定位置pos

bitshift(a, k)返回一个由向左移动ķ比特,相当于乘以2 ķk的负值对应于右移位或除以2 | k | 并朝负无穷大四舍五入到最接近的整数。任何溢出位都将被截断。
bitxor(a, b)

整数 a 和 b 的位异或

swapbytes

整数 a 和 b 的位异或

集合运算符

MATLAB提供了用于集合操作的各种功能,例如联合,交集和集合成员资格的测试等。

下表显示了一些常用的设置操作-

集合运算示例

序号功能说明
1

intersect(A,B)

设置两个数组的交集;返回A和B的公共值。返回的值按顺序排列。

2

intersect(A,B,'rows')

将A的每一行和B的每一行视为单个实体,并返回A和B共用的行。返回矩阵的行按排序顺序排列。

3

ismember(A,B)

返回一个与A大小相同的数组,其中包含1(true),其中A的元素位于B中。在其他位置,它返回0(false)。

4

ismember(A,B,'rows')

A의 각 행과 B의 각 행을 단일 실체로 간주하고, B에 없는 A의 행을 포함하는1의 벡터(true)는, 행렬 A의 행이 B의 행도 같다면, 다른 곳에서는 0(false)을 반환합니다.

5

issorted(A)

요소가 정렬 순서로 배열되면, 논리 값을 반환합니다.1(true)이면, 그렇지 않으면 논리 0(false)을 반환합니다. 입력 A는 벡터일 수도 있고, N×1또는1×N의 문자 셀 배열입니다. A와 sort(A)의 출력이 같으면, A가 정렬된 것으로 간주됩니다.

6

issorted(A, 'rows')

두차원 행렬 A의 행이 정렬 순서로 배열되면, 논리 값을 반환합니다.1(true)이면, 그렇지 않으면 논리 0(false)을 반환합니다. A와 sortrows(A)의 출력이 같으면, 행렬 A는 정렬된 것으로 간주됩니다.

7

setdiff(A,B)

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

8

setdiff(A,B,'rows')

A의 각 행과 B의 각 행을 단일 실체로 간주하고, B에 없는 A의 행을 반환합니다. 행은 정렬 순서로 배열됩니다.

‘rows’ 옵션은 셀 배열을 지원하지 않습니다。

9

setxor

두 배열의 배제합

10

union

두 배열의 합집합

11

unique

배열에서의 유일한 값