← MATLAB EspañolChapter 03 of 13

Operadores

## Objetivos de Aprendizaje - Usar operadores aritmeticos - Comprender operadores relacionales - Aplicar operadores logicos - Realizar operaciones elemento por elemento ## Operadores Aritmeticos ### Operaciones Basicas ```matlab a = 10; b = 3; % Suma c = a + b % 13 % Resta c = a - b % 7 % Multiplicacion c = a * b % 30 % Division c = a / b % 3.3333 c = a \ b % 0.3 (division izquierda) % Potencia c = a ^ b % 1000 (10^3) ``` ### Matriz vs Elemento por Elemento ```matlab A = [1, 2; 3, 4]; B = [2, 2; 2, 2]; % Multiplicacion de matrices C = A * B % [6, 6; 14, 14] % Multiplicacion elemento por elemento C = A .* B % [2, 4; 6, 8] ``` ### Operadores Elemento por Elemento | Operador | Descripcion | Ejemplo | |----------|-------------|---------| | `.+` | Suma elemento por elemento | `A .+ B` | | `.-` | Resta elemento por elemento | `A .- B` | | `.*` | Multiplicacion elemento por elemento | `A .* B` | | `./` | Division elemento por elemento | `A ./ B` | | `.^` | Potencia elemento por elemento | `A .^ 2` | ### Incremento/Decremento ```matlab x = 5; x = x + 1 % 6 x = x - 1 % 5 x += 1 % No soportado en MATLAB ``` ## Operadores Relacionales ### Operadores de Comparacion ```matlab a = 5; b = 10; % Igual c = (a == b) % false (0) % Diferente c = (a ~= b) % true (1) % Mayor que c = (b > a) % true (1) % Menor que c = (a < b) % true (1) % Mayor o igual que c = (b >= 10) % true (1) % Menor o igual que c = (a <= 5) % true (1) ``` ### Comparaciones de Arreglos ```matlab A = [1, 2, 3]; B = [3, 2, 1]; % Comparar elemento por elemento C = (A == B) % [0, 1, 0] % Comparar con escalar D = (A > 2) % [0, 0, 1] ``` ### Comparacion de Punto Flotante ```matlab % Due to floating point precision a = 0.1 + 0.2; b = 0.3; a == b % false (0) % Usar tolerancia tol = 1e-10; abs(a - b) < tol % true (1) % Usar isequaln para manejo de NaN isequaln(a, b) % false ``` ## Operadores Logicos ### Operadores Logicos Basicos ```matlab a = true; b = false; % AND c = a & b % false (0) % OR c = a | b % true (1) % NOT c = ~a % false (0) % XOR c = xor(a, b) % true (1) ``` ### Operadores de Cortocircuito ```matlab % && (AND de cortocircuito) % Detiene la evaluacion si la primera condicion es false % || (OR de cortocircuito) % Detiene la evaluacion si la primera condicion es true % Ejemplo x = 0; y = 10; if (x ~= 0) && (y/x > 5) disp('True'); else disp('False o error evitado'); end ``` ### Funciones Logicas ```matlab A = [1, 0, 3, 0, 5]; any(A) % true (existe no-cero) all(A) % false (no todos son no-cero) isnan([1, NaN, 3]) % [0, 1, 0] isinf([1, Inf, 3]) % [0, 1, 0] isfinite([1, Inf, NaN]) % [1, 0, 0] ``` ## Precedencia de Operadores ### Orden de Precedencia (de mayor a menor) 1. Parentesis `()` 2. Transpuesta `.'` `.^` 3. Potencia `^` 4. Unario `+` `-` `~` 5. Multiplicacion `*` `/` `\` 6. Suma `+` `-` 7. Dos puntos `:` 8. Comparacion `<` `<=` `>` `>=` `==` `~=` 9. Elemento por elemento `&` 10. Elemento por elemento `|` 11. Cortocircuito `&&` 12. Cortocircuito `||` ```matlab % Ejemplo resultado = 2 + 3 * 4 % 14 (no 20) resultado = (2 + 3) * 4 % 20 ``` ## Operaciones de Conjuntos ```matlab A = [1, 2, 3, 4]; B = [3, 4, 5, 6]; union(A, B) % [1, 2, 3, 4, 5, 6] intersect(A, B) % [3, 4] setdiff(A, B) % [1, 2] setxor(A, B) % [1, 2, 5, 6] ismember(3, A) % true (1) % Elementos unicos unique([1, 2, 2, 3]) % [1, 2, 3] ``` ## Operaciones a Nivel de Bits ```matlab a = 5; % Binario: 101 b = 3; % Binario: 011 bitand(a, b) % 1 (001) bitor(a, b) % 7 (111) bitxor(a, b) % 6 (110) bitcmp(a, 3) % 2 (010) - complemento de 3 bits % Desplazar bits bitshift(a, 1) % 10 (1010) - desplazamiento izquierdo bitshift(a, -1) % 2 (10) - desplazamiento derecho ``` ## Operadores Especiales ### Operador Dos Puntos ```matlab 1:5 % [1, 2, 3, 4, 5] 0:0.5:2 % [0, 0.5, 1, 1.5, 2] 10:-2:4 % [10, 8, 6, 4] ``` ### Concatenacion de Cadenas ```matlab str1 = 'Hola'; str2 = 'Mundo'; % Concatenacion horizontal str = [str1, ' ', str2] % 'Hola Mundo' str = strcat(str1, ' ', str2) % Concatenacion vertical str = char(str1, str2) % Arreglo de caracteres 2x5 ``` ## Resumen - Usar `.*`, `./`, `.^` para operaciones elemento por elemento - Los operadores relacionales devuelven valores logicos (0 o 1) - Usar `&&` y `||` para evaluacion de cortocircuito - La precedencia de operadores sigue las reglas matematicas estandar - Usar parentesis para clarificar la intencion - Las comparaciones de punto flotante deben usar tolerancia

Comments

Comments powered by Giscus

To enable comments, add your Giscus embed code here.

Learn more about Giscus →