Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> MATLAB

Operadores en MATLAB: Guía Completa de Aritméticos, Relacionales, Lógicos y Bitwise

Un operador es un símbolo que indica al compilador realizar manipulaciones matemáticas o lógicas específicas. MATLAB está diseñado para operar principalmente sobre matrices y arrays completos. Por tanto, los operadores funcionan tanto en datos escalares como no escalares.

MATLAB permite los siguientes tipos de operaciones elementales:

Operadores Aritméticos

MATLAB distingue dos tipos de operaciones aritméticas:

Los operadores de matriz y array se diferencian por el símbolo punto (.). Sin embargo, suma y resta son iguales para ambos, así que el operador es el mismo. Tabla de operadores:

Nº Operador y Descripción
1

+

Adición o más unario. A+B suma valores de A y B. Deben tener mismo tamaño, salvo que uno sea escalar (se suma a toda la matriz).

2

-

Sustracción o menos unario. A-B resta B de A. Mismo tamaño o escalar.

3

*

Multiplicación de matrices. C = A*B es producto algebraico lineal. Para A y B no escalares, columnas de A = filas de B. Escalar multiplica matriz de cualquier tamaño.

4

.*

Multiplicación elemento a elemento (arrays). A.*B es producto elemento a elemento. Mismo tamaño o escalar.

5

/

División derecha de matrices (slash). B/A ≈ B*inv(A). Precisamente: B/A = (A'\B')'.

6

./

División derecha elemento a elemento. A./B tiene elementos A(i,j)/B(i,j). Mismo tamaño o escalar.

7

\

División izquierda de matrices (backslash). Si A es cuadrada, A\B ≈ inv(A)*B (calculado distinto). Si A es n×n y B vector columna n, X = A\B resuelve AX = B. Advertencia si A mal condicionada o casi singular.

8

.\

División izquierda elemento a elemento. A.\B tiene elementos B(i,j)/A(i,j). Mismo tamaño o escalar.

9

^

Potencia de matriz. X^p es X a la p (p escalar). Si p entero, potenciación por cuadrados repetidos. Si negativo, invierte primero. Otros valores: valores/vectores propios.

10

.^

Potencia elemento a elemento. A.^B tiene elementos A(i,j)^B(i,j). Mismo tamaño o escalar.

11

'

Transpuesta de matriz (conjugada para complejos).

12

.'

Transpuesta de array (sin conjugar para complejos).

Operadores Relacionales

Funcionan en escalares y no escalares. Para arrays, comparan elemento a elemento y devuelven array lógico del mismo tamaño (1=true, 0=false).

Nº Operador y Descripción
1

<

Menor que

2

<=

Menor o igual que

3

>

Mayor que

4

>=

Mayor o igual que

5

==

Igual a

6

~=

Distinto de

Operadores Lógicos

Dos tipos:

Operaciones Bitwise

Operan bit a bit. Tablas de verdad para &, |, ^:

p q p & q p | q p ^ q
00000
01011
11110
10011

Ejemplo: A = 60 (0011 1100), B = 13 (0000 1101):

A & B = 0000 1100  (12)
A | B = 0011 1101  (61)
A ^ B = 0011 0001  (49)
~A     = 1100 0011  (-61 en complemento a dos)

Funciones bitwise comunes:

Función Propósito
bitand(a, b)AND bit a bit de enteros a y b
bitcmp(a)Complemento bit a bit de a
bitget(a, pos)Obtener bit en posición pos del array entero a
bitor(a, b)OR bit a bit de enteros a y b
bitset(a, pos)Establecer bit en posición pos de a
bitshift(a, k)Desplaza a a la izquierda k bits (equiv. ×2k). k negativo: desplazamiento derecha (÷2|k|) redondeando a -∞. Bits de desbordamiento se truncan.
bitxor(a, b)XOR bit a bit de enteros a y b
swapbytesIntercambia orden de bytes

Operaciones de Conjuntos (Set Operations)

Funciones para unión, intersección, pertenencia, etc.

Nº Función y Descripción
1

intersect(A,B)

Intersección de dos arrays; valores comunes a ambos, ordenados.

2

intersect(A,B,'rows')

Trata cada fila como entidad; devuelve filas comunes, ordenadas.

3

ismember(A,B)

Array mismo tamaño que A con 1 donde elementos de A están en B, 0 en resto.

4

ismember(A,B,'rows')

Trata filas como entidades; vector con 1 donde filas de A están en B.

5

issorted(A)

1 (true) si elementos de A ordenados, 0 en otro caso. A puede ser vector o cell array de strings 1D. A ordenado si A == sort(A).

6

issorted(A, 'rows')

1 si filas de matriz 2D A ordenadas, 0 en otro caso. A ordenado si A == sortrows(A).

7

setdiff(A,B)

Diferencia de conjuntos; valores en A que no están en B, ordenados.

8

setdiff(A,B,'rows')

Filas de A que no están en B, ordenadas. Opción 'rows' no soporta cell arrays.

9

setxor

OR exclusivo de dos arrays.

10

union

Unión de dos arrays.

11

unique

Valores únicos en array.

MATLAB

  1. Operadores en C# – Guía completa de operadores en C#
  2. Dominando los Operadores en C++: Guía Completa con Ejemplos Prácticos
  3. Dominando los operadores en programación C: guía completa
  4. Guía completa de operadores en C: Tipos, funciones y ejemplos
  5. MATLAB: Visión General del Entorno Líder en Computación Numérica
  6. Variables en MATLAB: Conceptos Básicos y Ejemplos Prácticos
  7. Comandos Esenciales de MATLAB para Computación Eficiente
  8. Tipos de Datos en MATLAB: Guía Completa de Conversión y Determinación
  9. Operadores en MATLAB: Guía Completa de Aritméticos, Relacionales, Lógicos y Bitwise
  10. Dominando operadores en Python: Guía completa
  11. Dominar Operadores en Java: Tipos, Sintaxis y Ejemplos Prácticos