English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
MATLAB permite dos tipos diferentes de operaciones aritméticas-
Operaciones aritméticas de matrices
Operaciones aritméticas de arrays
Los operadores aritméticos de matrices son los mismos que los definidos en la álgebra lineal. Las operaciones de arrays se ejecutan elemento por elemento en arrays unidimensionales y multidimensionales.
Los operadores de cálculo de matrices y los operadores de cálculo de arrays se distinguen por el símbolo de punto (.). Sin embargo, debido a que las operaciones de suma y resta de matrices y arrays son iguales, los operadores en ambas situaciones son los mismos.
La siguiente tabla resume la introducción de operadores-
序号 | Operadores y descripciones |
---|---|
1 | + Adición o unario más. A + B almacenará el valor sumado de las variables A y B. A menos que uno de ellos sea un escalar, A y B deben tener el mismo tamaño. Se puede sumar un escalar a cualquier tamaño de matriz. |
2 | - Resta o unario menos. AB restará el valor de B de A. A menos que uno de ellos sea un escalar, A y B deben tener el mismo tamaño. Se puede restar un escalar de cualquier tamaño de matriz. |
3 | * Multiplicación de matrices. C = A * B es el producto algebraico de las matrices A y B. Más exactamente, Para A y B no escalares, el número de columnas de A debe ser igual al número de filas de B. Los escalares pueden multiplicarse con matrices de cualquier tamaño. |
4 | .* Multiplicación de array. A. * B es el producto elemental de los arrays A y B. A y B deben tener el mismo tamaño, a menos que uno de ellos sea un escalar. |
5 | / Barra o división derecha de matriz. B / A y B *Es más o menos equivalente a inv(A). Más exactamente, B / A = (A' \ B')'. |
6 | ./ División derecha de array. A./B es el elemento A(i,j)/de la matriz B(i,j). El tamaño de A y B debe ser el mismo, a menos que uno de ellos sea un escalar. |
7 | \ Barra invertida o división izquierda de matriz. Si A es una matriz cuadrada, entonces A \ B es equivalente a inv(A)* B es más o menos igual, solo que su forma de cálculo es diferente. Si A es una matriz n×n y B es una matriz de columna con n componentes o una matriz con varias columnas de este tipo, entonces X = A \ B es la ecuaciónAX = Bde la solución. Si A se escala incorrectamente o está cerca de singular, se mostrará un mensaje de advertencia. |
8 | .\ División izquierda de array. A. \ B es el elemento B(i,j)/de la matriz A(i,j). El tamaño de A y B debe ser el mismo, a menos que uno de ellos sea un escalar. |
9 | ^ Potencia de matriz. Si p es un escalar, entonces X ^ p es X elevado a la potencia p. Si p es un entero, se calcula la potencia mediante la repetición de la potencia cuadrática. Si el entero es negativo, se invierte X primero. Para otros valores de p, el cálculo implica valores propios y vectores propios, por lo tanto, si [V, D] = eig(X), entonces X ^ p = V * D. ^ p / V. |
10 | .^ Fuente de energía de array. A. ^ B es la matriz con elementos A(i,j) elevados a la potencia B(i,j). El tamaño de A y B debe ser el mismo, a menos que uno de ellos sea un escalar. |
11 | ' Transpuesta de matriz. A' es la transpuesta algebraica de A. Para matrices complejas, es la transpuesta conjugada. |
12 | '. Transpuesta de array. Una. ' Es la transpuesta del array A. Para matrices complejas, esto no implica conjugación. |
El siguiente ejemplo muestra el uso de operadores aritméticos con datos escalar. Cree el archivo de script con el siguiente código-
a = 10; b = 20; c = a + b d = a - b e = a * b f = a / b g = a \ b x = 7; y = 3; z = x ^ yAl ejecutar el archivo, se producirán los siguientes resultados-
c = 30 d = -10 e = 200 f = 0.50000 g = 2 z = 343
除了上述算术运算符,MATLAB还提供了以下用于类似目的的命令/函数-
序号 | 功能说明 |
---|---|
1 | uplus(a) 一元加号;按a的数量递增 |
2 | plus (a,b) 加; 返回a + b |
3 | uminus(a) 一元减;减少量a |
4 | minus(a, b) 减; 返回a-b |
5 | times(a, b) 数组乘法;返回a。* b |
6 | mtimes(a, b) 矩阵乘法;返回a * b |
7 | rdivide(a, b) 右数组除法;返回一个./ b |
8 | ldivide(a, b) 左数组除法;返回a。\ b |
9 | mrdivide(A, B) 求解线性方程组的系统XA = B为X |
10 | mldivide(A, B) 求解线性方程组的系统Ax = b的用于X |
11 | power(a, b) 数组幂;返回a.^ b |
12 | mpower(a, b) 矩阵幂;返回a ^ b |
13 | cumprod(A) 累积积;返回与包含累积积的数组大小相同的数组。
|
14 | cumprod(A, dim) 返回沿dim的累积乘积。 |
15 | cumsum(A) 累计和 返回包含累积和的数组A。
|
16 | cumsum(A, dim) 返回沿维度dim的元素的累积和。 |
17 | diff(X) 差异和近似导数;计算X的相邻元素之间的差。
|
18 | diff(X,n) 递归地应用diff n次,导致第n个差异。 |
19 | diff(X,n,dim) Es la función de diferencia n-esima calculada a lo largo de la dimensión especificada por el ángulo oscuro de escalares. Si el orden n es igual o mayor que la longitud de la dimensión dim, diff devuelve un array vacío. |
20 | prod(A) El producto de los elementos del array; devuelve el producto de los elementos del array A.
Si el input A es un solo número, la función prod calcula y devuelve B como un solo número. Para todos los otros números y tipos de datos lógicos, prod calcula B y lo devuelve como double. |
21 | prod(A,dim) Devuelve el producto de tamaño dim. Por ejemplo, si A es una matriz, prod(A,2) es una columna vectorial que contiene el producto de cada fila. |
22 | prod(___,datatype) Multiplica y devuelve el array en la clase especificada por el tipo de datos. |
23 | sum(A)
|
24 | sum(A,dim) A lo largo del escalardimEspecificadoALa suma de la dimensión. |
25 | sum(..., 'double') sum(..., dim,'double') Incluso si A tiene un tipo de datos único o de tipo entero, realiza la adición en double precision y devuelve la respuesta de tipo double. Esta es la configuración predeterminada para los tipos de datos enteros. |
26 | sum(..., 'native') sum(..., dim,'native') Ejecuta la adición con el tipo de datos nativo de A y devuelve la respuesta del mismo tipo de datos. Esta es la configuración predeterminada para la suma de una y dos hojas. |
27 | ceil(A) Redondea hacia el infinito positivo; redondea los elementos de A al entero más cercano y mayor o igual a A. |
28 | fix(A) Redondea hacia cero |
29 | floor(A) Redondea hacia menos infinito; redondea los elementos de A al entero más cercano y menor o igual a A. |
30 | idivide(a, b) idivide(a, b, 'fix') División entera con opción de redondeo; igual a a./b es el mismo, excepto que el cociente decimal se redondea al entero más cercano hacia cero. |
31 | idivide(a, b, 'round') El cociente fraccional se redondea al entero más cercano. |
32 | idivide(A, B, 'floor') El cociente fraccional se redondea al entero más cercano hacia el infinito negativo. |
33 | idivide(A, B, 'ceil') El cociente fraccional se redondea al entero más cercano hacia el infinito. |
34 | mod (X,Y) El módulo después de la división; devuelve X-n.* Y, donde n = floor(X./Y)。Si Y no es un entero y el cociente X./Y dentro del error de redondeo de los enteros, n es ese entero. Los valores de entrada X e Y deben ser matrices o escalares reales del mismo tamaño (proporcionar Y〜= 0). Tenga en cuenta-
|
35 | rem (X,Y) El resto después de la división; devuelve X-n.* Y, donde n = fix(X./Y)。Si Y no es un entero y el cociente X./Y dentro del error de redondeo de los enteros, n es ese entero. Los valores de entrada X e Y deben ser matrices o escalares reales del mismo tamaño (proporcionar Y〜= 0). Tenga en cuenta-
|
36 | round(X) Redondeada al entero más cercano; redondea los elementos de X al entero más cercano. La parte decimal es 0.5Los elementos positivos se redondean al entero positivo más cercano. La parte decimal es-0.5Los elementos negativos se redondean al entero negativo más cercano. |