MATLAB - Operaciones aritméticas
MATLAB permite dos tipos diferentes de operaciones aritméticas:
- Operaciones aritméticas matriciales
- Operaciones aritméticas de matriz
Las operaciones aritméticas matriciales son las mismas que se definen en álgebra lineal. Las operaciones de matriz se ejecutan elemento por elemento, tanto en una matriz unidimensional como multidimensional.
Los operadores de matrices y los operadores de matrices se diferencian por el símbolo de punto (.). Sin embargo, como la operación de suma y resta es la misma para matrices y arreglos, el operador es el mismo para ambos casos.
La siguiente tabla ofrece una breve descripción de los operadores:
No Señor. | Operador y descripción |
---|---|
1 | + Adición o plus unario. A + B suma los valores almacenados en las variables A y B. A y B deben tener el mismo tamaño, a menos que uno sea un escalar. Se puede agregar un escalar a una matriz de cualquier tamaño. |
2 | - Resta o menos unario. AB resta el valor de B de A. A y B deben tener el mismo tamaño, a menos que uno sea un escalar. Un escalar se puede restar de una matriz de cualquier tamaño. |
3 | * Multiplicación de matrices. C = A * B es el producto algebraico lineal de las matrices A y B. Más precisamente, Para A y B no escalares, el número de columnas de A debe ser igual al número de filas de B. Un escalar puede multiplicar una matriz de cualquier tamaño. |
4 | .* Multiplicación de matrices. A. * B es el producto elemento por elemento de las matrices A y B. A y B deben tener el mismo tamaño, a menos que uno de ellos sea un escalar. |
5 | / División derecha de barra o matriz. B / A es aproximadamente lo mismo que B * inv (A). Más precisamente, B / A = (A '\ B') '. |
6 | ./ Matriz de división a la derecha. A./B es la matriz con elementos A (i, j) / B (i, j). A y B deben tener el mismo tamaño, a menos que uno de ellos sea un escalar. |
7 | \ Barra invertida o división de matriz a la izquierda. Si A es una matriz cuadrada, A \ B es aproximadamente lo mismo que inv (A) * B, excepto que se calcula de una manera diferente. Si A es un n-por-n matriz y B es un vector columna con n componentes, o una matriz con varias de estas columnas, entonces X = A \ B es la solución a la ecuación AX = B . Se muestra un mensaje de advertencia si A tiene una escala incorrecta o es casi singular. |
8 | .\ Array división izquierda. A. \ B es la matriz con elementos B (i, j) / A (i, j). A y B deben tener el mismo tamaño, a menos que uno de ellos sea un escalar. |
9 | ^ Poder de la matriz. X ^ p es X elevado a p, si p es un escalar. Si p es un número entero, la potencia se calcula elevando al cuadrado repetidamente. Si el número entero es negativo, X se invierte primero. Para otros valores de p, el cálculo involucra valores propios y vectores propios, de modo que si [V, D] = eig (X), entonces X ^ p = V * D. ^ p / V. |
10 | .^ Poder de matriz. A. ^ B es la matriz con elementos A (i, j) a la potencia B (i, j). A y B deben tener el mismo tamaño, a menos que uno de ellos sea un escalar. |
11 | ' Transposición de matriz. A 'es la transpuesta algebraica lineal de A. Para matrices complejas, esta es la transpuesta conjugada compleja. |
12 | .' Transposición de matriz. UN.' es la transposición de la matriz de A. Para matrices complejas, esto no implica conjugación. |
Ejemplo
Los siguientes ejemplos muestran el uso de operadores aritméticos en datos escalares. Cree un 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 ^ y
Cuando ejecuta el archivo, produce el siguiente resultado:
c = 30
d = -10
e = 200
f = 0.50000
g = 2
z = 343
Funciones para operaciones aritméticas
Además de los operadores aritméticos mencionados anteriormente, MATLAB proporciona los siguientes comandos / funciones que se utilizan para fines similares:
No Señor. | Función descriptiva |
---|---|
1 | uplus(a) Más unario; incrementos en la cantidad a |
2 | plus (a,b) Más; devuelve a + b |
3 | uminus(a) Menos unario; decrementos en la cantidad a |
4 | minus(a, b) Menos; devuelve a - b |
5 | times(a, b) Array multiplicar; devuelve a. * b |
6 | mtimes(a, b) Multiplicación de matrices; devuelve a * b |
7 | rdivide(a, b) División de matriz derecha; devuelve a ./ b |
8 | ldivide(a, b) División de matriz izquierda; devuelve a. \ b |
9 | mrdivide(A, B) Resolver sistemas de ecuaciones lineales xA = B para x |
10 | mldivide(A, B) Resolver sistemas de ecuaciones lineales Ax = B para x |
11 | power(a, b) Poder de matriz; devuelve a. ^ b |
12 | mpower(a, b) Poder de la matriz; devuelve a ^ b |
13 | cumprod(A) Producto acumulativo; devuelve una matriz del mismo tamaño que la matriz A que contiene el producto acumulativo.
|
14 | cumprod(A, dim) Devuelve el producto acumulativo a lo largo de la dimensión dim . |
15 | cumsum(A) Suma acumulada; devuelve una matriz A que contiene la suma acumulativa.
|
dieciséis | cumsum(A, dim) Devuelve la suma acumulativa de los elementos a lo largo de la dimensión dim . |
17 | diff(X) Diferencias y derivadas aproximadas; calcula las diferencias entre los elementos adyacentes de X.
|
18 | diff(X,n) Aplica diff de forma recursiva n veces, lo que da como resultado la enésima diferencia. |
19 | diff(X,n,dim) Es la enésima función de diferencia calculada a lo largo de la dimensión especificada por escalar dim. Si el orden n es igual o superior a la longitud de la dimensión dim, diff devuelve una matriz vacía. |
20 | prod(A) Producto de elementos de matriz; devuelve el producto de los elementos de la matriz de A.
La función prod calcula y devuelve B como único si la entrada, A, es única. Para todos los demás tipos de datos numéricos y lógicos, prod calcula y devuelve B como doble. |
21 | prod(A,dim) Devuelve los productos a lo largo de la dimensión dim. Por ejemplo, si A es una matriz, prod (A, 2) es un vector de columna que contiene los productos de cada fila. |
22 | prod(___,datatype) se multiplica y devuelve una matriz en la clase especificada por el tipo de datos. |
23 | sum(A)
|
24 | sum(A,dim) Sumas a lo largo de la dimensión de A especificada por escalar dim . |
25 | sum(..., 'double') sum(..., dim,'double') Realice sumas en doble precisión y devuelva una respuesta de tipo doble, incluso si A tiene un tipo de datos simple o un tipo de datos entero. Este es el valor predeterminado para los tipos de datos enteros. |
26 | sum(..., 'native') sum(..., dim,'native') Realice adiciones en el tipo de datos nativo de A y devuelva una respuesta del mismo tipo de datos. Este es el valor predeterminado para simple y doble. |
27 | ceil(A) Redondea hacia el infinito positivo; redondea los elementos de A a los números enteros más cercanos mayores o iguales que A. |
28 | fix(A) Redondea hacia cero |
29 | floor(A) Redondea hacia el infinito negativo; redondea los elementos de A a los números enteros más cercanos menores o iguales que A. |
30 | idivide(a, b) idivide(a, b,'fix') División de enteros con opción de redondeo; es lo mismo que a./b excepto que los cocientes fraccionarios se redondean hacia cero a los números enteros más cercanos. |
31 | idivide(a, b, 'round') Los cocientes fraccionarios se redondean a los números enteros más cercanos. |
32 | idivide(A, B, 'floor') Los cocientes fraccionarios se redondean hacia el infinito negativo a los números enteros más cercanos. |
33 | idivide(A, B, 'ceil') Los cocientes fraccionarios se redondean hacia el infinito a los números enteros más cercanos. |
34 | mod (X,Y) Módulo tras división; devuelve X - n. * Y donde n = piso (X./Y). Si Y no es un número entero y el cociente X./Y está dentro del error de redondeo de un número entero, entonces n es ese número entero. Las entradas X e Y deben ser matrices reales del mismo tamaño o escalares reales (siempre que Y ~ = 0). Tenga en cuenta:
|
35 | rem (X,Y) Resto después de la división; devuelve X - n. * Y donde n = fix (X./Y). Si Y no es un número entero y el cociente X./Y está dentro del error de redondeo de un número entero, entonces n es ese número entero. Las entradas X e Y deben ser matrices reales del mismo tamaño o escalares reales (siempre que Y ~ = 0). Tenga en cuenta que -
|
36 | round(X) Redondea al entero más cercano; redondea los elementos de X a los números enteros más cercanos. Los elementos positivos con una parte fraccionaria de 0,5 se redondean al número entero positivo más cercano. Los elementos negativos con una fracción de -0,5 se redondean al número entero negativo más cercano. |