English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
연산자는 특정 수학적이거나 논리적 작업을 수행하도록 컴파일러에게 지시하는 기호입니다. 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。
按位运算符对位进行运算并执行逐位运算。&,|和^的真值表如下-
p | q | p&q | 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为按位运算提供了各种功能,例如``按位与'',``按位或''和``按位非''运算,移位运算等。
下表显示了常用的按位运算-
函数 | 作用 |
---|---|
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 배열에서의 유일한 값 |