Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Cuando se trabaja en la ventana de comandos, MATLAB recuerda las órdenes introducidas y los valores de
cualquier variable creada. Estas órdenes y variables residen en el denominado espacio de trabajo de MATLAB.
Para recordar las órdenes se utilizan las teclas ¬, ®, -, ¯ del teclado, de manera similar a su utilización en el
sistema operativo Windows. También se puede emplear el ratón para cortar, copiar, pegar y editar el texto.
Todas las variables almacenadas se pueden visualizar simplemente escribiendo su nombre y ejecutándolo.
Además todas las variables que hay en un instante en el espacio de trabajo son listados con la orden who. Una
variante es whos, que suministra además de los nombres, su tamaño, número de elementos, el espacio de
memoria que ocupa, la densidad y si es compleja o real. Cada dato elemental ocupa 8 bytes de memoria.
Al terminar una sesión de trabajo en MATLAB, se pierden las variables del espacio de trabajo. Si se quiere
salvar el estado para una próxima sesión se usa save.
Las variables quedan almacenadas en un fichero llamado MATLAB.mat, en un formato propio de MATLAB.
Para recuperar dichas variables en una sesión posterior se empleará load:
También es posible especificar el nombre de una o varias variables que sean las únicas que se desean salvar y
recuperar posteriormente:
Existen variantes de estas órdenes para guardar y recuperar datos en formato ASCII, y también para trabajar
con formatos avanzados de datos compatibles con el lenguaje C.
>> clear
Si se desea borrar del espacio de trabajo solamente algunas variables, se enumeran después de clear:
clear nombre1 nombre2 nombre3... borra todas las variables nombradas del espacio de trabajo.
clear global borra todas las variables globales del espacio de trabajo
clear all borra todas las variables, funciones y ficheros .mex de memoria.
Mostrar matrices o texto: disp. disp(a) muestra una matriz sin imprimir su nombre. Si a contiene texto, este
también se muestra.
Longitud de un vector: length. length(a) devuelve la longitud del vector a. Es equivalente a max(size(a)).
Defragmenta el espacio de memoria: pack. Si se obtiene un mensaje de Out of memory, el comando pack puede
ayudarnos a liberar algo de memoria, sin tener que borrar variables pues libera el espacio comprimiendo la
información en el mínimo espacio de memoria posible. Puesto que MATLAB utiliza un método de heap para la
gestión de memoria, es normal que a lo largo de una sesión la memoria se vaya fragmentando. En ese caso,
puede haber suficiente espacio libre, pero al no estar contiguo, no se puede almacenar una variable que
necesite todo ese espacio. El comando pack:
pack nombrefichero: Utiliza nombrefichero en lugar de pack.tmp Si después de utilizar pack sigue dando errores
de memoria, será necesario borrar algunas variables. Si el sistema da frecuentes errores de memoria se puede
arreglar por dos vías:
save almacena todas las variables del espacio de trabajo en un fichero llamado MATLAB.mat
save nombrefichero variables opciones se utiliza para guardar el fichero con alguna de las opciones
siguientes:
Dimensiones de las matrices: size. size(a) devuelve un vector con dos componentes enteros, el número de filas y
el número de columnas.
Lista las variables que tienen parte imaginaria distinta de cero: whos.
En el cuadro siguiente se ilustra las operaciones aritméticas básicas, el símbolo que emplea MATLAB y un
ejemplo:
Suma + 3+6
Resta – 12 – 7.5
División/ 77 / 51
Potencia ^ 5^2
El orden en que estas operaciones se evalúan en una expresión está dada por la siguiente regla de precedencia:
Las expresiones se evalúan de izquierda a derecha,
Se pueden emplear paréntesis para alterar esta usual ordenación, en cuyo caso la evaluación se inicia dentro del
paréntesis más interno y procede hacia fuera.
Ejercicios:
a) 2 ^ 3 – 5 – 6 / 3 * 2
b) 2 ^ 3 – 5 – 6 / (3 * 2)
c) (2 ^ 3 – 5 – 6) / 3 * 2
MATLAB operadores
❮ AnteriorSiguiente Capítulo ❯
Un operador es un símbolo que indica al compilador para realizar manipulaciones matemáticas o lógicas
específicas. MATLAB está diseñado para funcionar principalmente en matrices de enteros y matrices. Por lo
tanto, los operadores en MATLAB trabajan tanto en los datos escalares y no escalares. MATLAB permite los
siguientes tipos de operaciones elementales -
Operadores aritméticos
Operadores relacionales
Operadores logicos
Operadores aritméticos
Matrix operaciones aritméticas son como se han definido en el álgebra lineal. operaciones de matriz se
elemento ejecutados por elemento, tanto en matriz unidimensional y multidimensional.
Los operadores de la matriz y los operadores de la matriz se diferencian por el período (.) Símbolo. Sin embargo,
como la operación de suma y resta es el mismo para matrices y matrices, el operador es el mismo para ambos
casos. La siguiente tabla ofrece una breve descripción de los operadores -
Mostrar ejemplos
Operador Descripción
+ Además, más o unario. A + B agrega los valores almacenados en las variables A y B. A y B deben tener el mis
menos que uno es un escalar. A escalar se puede añadir a una matriz de cualquier tamaño.
- La resta o menos unitario. AB resta el valor de B de A. A y B deben tener el mismo tamaño, a menos que uno
escalar se puede restarse de una matriz de cualquier tamaño.
Para no escalares A y B, el número de columnas de A debe ser igual al número de filas de B. A escalar puede
matriz de cualquier tamaño.
/ Raya vertical o matriz división derecha. B / A es más o menos lo mismo que B*inv(A) . Más precisamente, B /
./ división de la derecha matriz. A./B es la matriz con elementos de A(i,j) / B (i, j). A y B deben tener el mismo t
que uno de ellos es un escalar.
.\ Hilera izquierda división. A. \ B es la matriz con elementos B(i,j) / A (i, j). A y B deben tener el mismo tamaño
de ellos es un escalar.
^ Matriz de la energía. X ^ p es X a la potencia p, si p es un escalar. Si p es un número entero, la potencia se ca
cuadrado repetido. Si el número entero es negativo, X se invierte primero. Para otros valores de p, el cálculo
propios y los vectores propios, de manera que si [V, D] = eig(X) , entonces X ^ p = V * D. ^ p / V.
.^ alimentación de la matriz. A. ^ B es la matriz con elementos de A(i,j) a la B(i,j) de potencia. A y B deben tene
tamaño, a menos que uno de ellos es un escalar.
' transpuesta de la matriz. A' es la transpuesta algebraica lineal de A. Para matrices complejas, esta es la trans
compleja.
.' transpuesta de matriz. UN.' es la matriz traspuesta de A. Para matrices complejas, esto no implica la conjuga
Operadores relacionales
Los operadores relacionales también pueden trabajar en ambos datos no escalares y escalar. Los operadores
relacionales para matrices realizan comparaciones elemento por elemento entre dos matrices y devolver una
matriz lógica del mismo tamaño, con elementos fijados a 1 lógico (true) en donde la relación es verdadera y
elementos establecidos a lógica 0 (false) donde es no.
Mostrar ejemplos
Operador Descripción
== Igual a
~= No igual a
Operadores logicos
Element-sabia - Estos operadores operan sobre los elementos de las matrices lógicas correspondientes.
Cortocircuito - Estos operadores operan en escalares y, expresiones lógicas.
operadores lógicos elemento a elemento operan elemento por elemento en matrices lógicas. Los símbolos y, |,
y ~ son los operadores lógicos de matriz AND, OR y NOT.
operadores lógicos de cortocircuito permiten cortocircuitos en las operaciones lógicas. Los símbolos && y || son
los operadores de cortocircuito lógicos AND y OR.
Mostrar ejemplos
operadores de bits funcionan en los bits y realizar operación de bit por bit. Las tablas de verdad para y, | y ^ son
los siguientes -
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1
Supongamos que si A = 60; y B = 13; Ahora en formato binario que serán los siguientes:
A = 0011 1100
B = 0000 1101
-----------------
A | B = 0011 1101
A ^ B = 0011 0001
~ A = 1100 0011
MATLAB proporciona varias funciones para operaciones bit a bit como 'bit a bit y', 'o bit a bit' y 'bit a bit no'
operaciones, operación de desplazamiento, etc.
Mostrar ejemplos
Propósito
AND de bits de enteros a y b
Devuelve a desplazado a la izquierda por k bits de, equivalente a multiplicar por 2 k. Los valores negativos de k corresponden a los cambios de bits de
derecha o dividiendo por 2 | k | y redondeando al entero más cercano hacia el infinito negativo. Cualquier bit de desbordamiento se truncan.
MATLAB proporciona varias funciones para operaciones de conjunto, como unión, intersección y las pruebas de
calidad de miembro determinada, etc.
Mostrar ejemplos
Función Descripción
intersect(A,B) Establecer intersección de dos matrices; Devuelve los valores comunes a ambos A y B. Los va
están en el orden establecido.
intersect(A,B,'rows') Se usa para tratar cada fila de A y cada fila de B como entidades individuales y devuelve las fi
ambos A y B. Las filas de la matriz devuelta son en orden clasificado.
ismember(A,B) Devuelve una matriz del mismo tamaño que A, que contiene 1 (true) en donde los elementos
encuentran en B. Por otra parte, devuelve 0 (false) .
ismember(A,B,'rows') Se usa para tratar cada fila de A y cada fila de B como entidades individuales y devuelve un ve
1 (true) en donde las filas de la matriz A son también filas de B. Por otra parte, devuelve 0 (fa
issorted(A) Devuelve 1 lógico (true) si los elementos de A son en orden clasificado y lógico 0 (false) lo con
A puede ser un vector o un N-por-1 o 1-por-N matriz de células de cadenas. A is considered t
la salida de sort(A) son iguales.
issorted(A, 'rows') Devuelve 1 lógico (true) si las filas de dos dimensiones de la matriz A es en orden clasificado,
contrario. Matrix A is considered to be sorted if A y la salida del sortrows(A) son iguales.
setdiff(A,B) Establece la diferencia de dos matrices; devuelve los valores en una que no están en B. Los va
devuelta están en orden clasificado.
setdiff(A,B,'rows') Se usa para tratar cada fila de A y cada fila de B como entidades individuales y devuelve las fi
están en B. Las filas de la matriz devuelta son en orden clasificado.
Si se quiere guardar toda la sesión en un archivo, basta usar el comando “diary” nombre archivo.
Dicho archivo contendrá los comandos introducidos y los correspondientes resultados. Cuando no
se quiera seguir almacenando la información se introducir “diary off”.
Si se desean almacenar todas las variables de memoria en un fichero, junto con sus valores
actuales, se usa el comando “save” nombre-fichero. Esto crea un fichero binario en el directorio
de trabajo actual con el nombre introducido y con extensión .mat. En el caso de no ofrecerse el
nombre del fichero, el propio programa crea uno llamado matlab.mat.
En caso que se desee guardar en un fichero con formato ASCII, se introducirá en el comando un
modificador: “save -ascii” nombre fichero.
Si sólo se quieren guardar una serie de variables, se introducirá “save” nombre-fichero nombre-
variables separadas por espacios.
Puede recuperarse la siguiente vez que se arranque el programa con el comando “load” seguido
del nombre del fichero.
—> *.eps: es postscript y se pueden anexar a documentos Word y la calidad no cambia al cambiar
el tamaño.
—> *.jpg: es el más común pero la calidad es muy limitada y disminuye rápidamente al cambiar
de tamaño.
MATLAB utiliza los formatos para visualización de números descritos en la tabla. Estos formatos se
pueden seleccionar dentro del menú File / opción Preferences o escribiendo la orden apropiada
en MATLAB. Por defecto MATLAB trabaja al arrancar el ordenador con format short.
Lo primero de todo es que, Matlab, al igual que una calculadora científica normal, almacena el
último resultado obtenido en la variable ans. Las variables son sensibles a las mayúsculas (es
decir, diferencia entre mayúsculas y minúsculas), deben comenzar siempre con una letra, no
pueden contener espacios en blanco y pueden nombrarse hasta con 63 caracteres (dependiendo de
las versiones).
- Importante para principiantes: A la hora de ponernos a programar en Matlab por primera vez
(más adelante veremos cómo se programa), muchos de los errores que nos aparecen son debidos:
Aquí se muestra un cuadro resumen de algunas variables definidas por Matlab de la siguiente
manera:
Para aquellos que tengan un nivel más avanazado del programa Matlab, se adjunta la siguiente
tabla de comandos de un nivel más avanzado:
Tecleando “clear all” podemos borrar todas las variables del espacio de trabajo, pero no borra lo
de las demás ventanas, es decir, no desaparece lo que hay escrito en la ventana de comandos.
También podemos borrar una sola variable: “clear A” o si lo que queremos es asignarle un nuevo
valor no es necesario borrar dicha variable, sino bastaría con darla ese nuevo valor (A= 56, por
ejemplo). Tecleando “clc” borramos lo que hay en la ventana de comandos pero no borra las
variables de la memoria del espacio de trabajo.
Como curiosidad, existen comandos de Matlab que nos facilitan información sobre la fecha,
como “clock”, “date” o “calendar”.
- “who” muestra las variables existentes en el espacio de trabajo generadas por el usuario, pero
no las variables especiales.
Con relación a éste último comando cabe señalar que todo aquello que vamos guardando se
archiva en el directorio fijado en la parte superior-central de la pantalla; el cual se puede cambiar
por cualquier otra carpeta que queramos elegir.