SlideShare a Scribd company logo
1 of 24
Download to read offline
Tema nº 2
Fundamentos de Matlab
Análisis de datos numéricos y experimentales
©
Universidad
Internacional
de
La
Rioja
(UNIR)
/
Universidad
Rovira
i
Virgili
(URV)
Índice
Esquema 3
Ideas clave 4
2.1. Introducción y objetivos 4
2.2. Entorno de trabajo en Matlab 6
2.3. Ayuda en Matlab 8
2.4. Operaciones básicas 10
2.5. Scripts 17
2.6. Referencias bibliográficas 20
A fondo 21
Test 22
Análisis de datos numéricos y experimentales
Tema 2. Esquema
3
©
Universidad
Internacional
de
La
Rioja
(UNIR)
/
Universidad
Rovira
i
Virgili
(URV)
Esquema
FUNDAMENTOSDE MATLAB
- Descripciónde lainterfazde usuario
- Ventanasde trabajo
E n t o r n o d e t r a b a j o d e M a t l a b
Herramientas,funcionesysitiosweben
losque obtenerayudasobre el entorno
y lasfuncionesde Matlab
A y u d a e n M a t l a b
- Variables
- Operacionesmatemáticas
- Operadoresrelacionales
- Operadoreslógicas
- Funcionesinternas
- Gráficos
O p e r a c i o n e s b á s i c a s
Introducciónala creaciónde programas
S c r i p t s
Análisis de datos numéricos y experimentales
Tema 2. Ideas clave
4
©
Universidad
Internacional
de
La
Rioja
(UNIR)
/
Universidad
Rovira
i
Virgili
(URV)
Ideas clave
2.1. Introducción y objetivos
n este tema vamos a introducir los conceptos básicos que nos permitirán
realizar operaciones simples en Matlab. El objetivo principal del tema es
que os familiaricéis con el entorno de trabajo de Matlab, con su forma de
tratar los datos y con las instrucciones básicas imprescindibles para empezar a
programar. Este tema del curso está pensado para las personas que nunca han
trabajado con este software o que necesitan refrescar sus conocimientos.
Además de ser una aplicación que proporciona un entorno de trabajo, Matlab es un
lenguaje de programación que permite, entre otras funciones, manipular vectores y
matrices, crear gráficos especializados, implementar algoritmos o crear interfaces de
usuario.
Matlab es un programa comercial de la compañía MathWorks que ha ido
evolucionando desde sus orígenes a finales de la década de los setenta. Es muy
utilizado actualmente a nivel industrial y en la enseñanza e investigación.
Generalmente, MathWorks ofrece cada año un par de actualizaciones de Matlab que
introducen mejoras del programa, pero no cambios muy significativos en la
apariencia o en el lenguaje de programación.
Matlab es un programa multiplataforma (Windows, macOS o Linux) que funciona en
ordenadores de 64-bit. La última versión disponible para ordenadores de 32-bit fue
la del año 2015. Existen programas análogos de código libre que, en general, incluyen
un número inferior de funcionalidades, pero que económicamente pueden ser una
buena opción. En este grupo de programas encontramos Octave o Scilab, los cuales
utilizan un lenguaje de programación muy similar al de Matlab.
E
Análisis de datos numéricos y experimentales
Tema 2. Ideas clave
5
©
Universidad
Internacional
de
La
Rioja
(UNIR)
/
Universidad
Rovira
i
Virgili
(URV)
El paquete básico de Matlab incluye todas las funcionalidades del programa y permite
definir todo tipo de aplicaciones personalizadas utilizando su entorno y su lenguaje
de programación. Adicionalmente, Matlab dispone de paquetes de funciones
llamados toolbox, que se distribuyen de forma separada al programa. Estos paquetes
son conjuntos de funciones diseñadas específicamente para una aplicación concreta.
Por ejemplo, existen paquetes para aplicaciones de lógica difusa, wavelets, solución
de ecuaciones diferenciales parciales, sistemas robóticos, adquisición y procesado de
imágenes, etc. Matlab no requiere de estos paquetes para disponer de todo su
potencial; simplemente se trata de un conjunto de funciones que pueden facilitar el
trabajo en un campo concreto. A lo largo de este curso vamos a utilizar algunas de
estas toolbox, como son la Fuzzy Logic Toolbox, la Wavelet Toolbox y la Signal
Processing Toolbox.
Nomenclatura
En este documento se pueden encontrar ejemplos a implementar en Matlab,
referencias a instrucciones específicas y muestras de los resultados que este
programa proporciona. Para facilitar la comprensión del texto se ha optado por
mostrar las instrucciones en Matlab como texto en azul y cursiva. Así, si hacemos
referencia a la instrucción «edit prog.m», la encontraremos escrita como edit prog.m.
Por otro lado, los ejemplos introducidos en la ventana de trabajo y los resultados que
Matlab proporciona se muestran dentro de recuadros azules; por ejemplo:
>> a = 3 ;
>> b = 4 ;
>> c = a + b
c =
7
>>
Análisis de datos numéricos y experimentales
Tema 2. Ideas clave
6
©
Universidad
Internacional
de
La
Rioja
(UNIR)
/
Universidad
Rovira
i
Virgili
(URV)
2.2. Entorno de trabajo en Matlab
l inicializar Matlab aparecerán un grupo de ventanas que forman el entorno
de trabajo del programa y un conjunto de barras de menú que permiten el
acceso a las diferentes funcionalidades y aplicaciones (ver figura 1).
Al iniciarse Matlab encontramos por defecto tres ventanas:
 Ventana de comandos (command window). Es la ventana principal. Permite
interactuar directamente con Matlab. Se utiliza para ejecutar programas o escribir y
resolver operaciones matemáticas. También es la ventana donde por defecto
aparecen los resultados de los cálculos realizados.
 Ventana de variables de trabajo (workspace). Lista las variables que en cualquier
momento de la sesión de trabajo están en memoria y algunas de sus características
(nombre, tipo, valor…). Al hacer doble clic sobre alguna de las variables se abre un
editor,conunformatosimilar aunahojade cálculo,quepermite visualizar ymodificar
el valor de las mismas. El uso del botón derecho del ratón sobre esta ventana permite
crear nuevas variables o guardar su contenido en un fichero .mat (formato específico
de datos de Matlab), entre otras opciones.
 Ventana del directorio actual (current window). Muestra el contenido del directorio
en el que se está trabajando. Desde esta ventana se pueden abrir los ficheros de
Matlab directamente haciendo doble clic sobre ellos, tanto si son programas como si
son ficheros de datos. En la barra de menú aparece el nombre de este directorio, que
se puede cambiar fácilmente.
A
Análisis de datos numéricos y experimentales
Tema 2. Ideas clave
7
©
Universidad
Internacional
de
La
Rioja
(UNIR)
/
Universidad
Rovira
i
Virgili
(URV)
Figura 1. Entorno de trabajo de Matlab tal y como aparece al iniciar el programa.
Existe otro conjunto de ventanas que no son visibles al iniciar Matlab y que se irán
abriendo a lo largo del proceso de trabajo según sean necesarias. Algunas de las más
importantes son:
 Ventana de historia comandos (command history). Se puede acceder a ella desde el
botón Layout en la barra de menú y permite acceder al historial de instrucciones
introducidas en la ventana de comandos a lo largo de la sesión de trabajo actual.
 Ventana gráfica. Aparece de forma automática cuando se pide a Matlab que realice
un gráfico o que muestre una imagen. La instrucción figure genera una ventana
gráfica vacía.
 Ventana de edición. Se abre al editar un fichero .m (programa de Matlab), desde la
barra de menú o al escribir edit o edit NombreDeUnFichero.m en la ventana de
comandos. Básicamente, se trata de un editor de texto que permite escribir de forma
secuencial todas las instrucciones de un programa en Matlab para su posterior
ejecución. Incluye funcionalidades específicas que permiten controlar la ejecución del
código.
Análisis de datos numéricos y experimentales
Tema 2. Ideas clave
8
©
Universidad
Internacional
de
La
Rioja
(UNIR)
/
Universidad
Rovira
i
Virgili
(URV)
2.3. Ayuda en Matlab
l lenguaje d programación de Matlab utiliza un gran número de funciones
matemáticas. Asimismo, el usuario tiene a su disposición una elevada
cantidad de instrucciones definidas tanto en el propio programa como en
las toolbox específicas para cada aplicación. Por este motivo se hace imprescindible
disponer de buenas herramientas de ayuda que permitan al usuario conocer la
funcionalidad y el formato de todas las instrucciones que puede utilizar. Sin tener en
cuenta el material disponible de fuentes externas al propio programa, a continuación
se listan las opciones más utilizadas para la obtención de ayuda en Matlab.
Desde el propio Matlab
El propio Matlab dispone de numerosas opciones para conseguir ayuda sobre sus
funciones y aplicaciones:
 Barra de menú. El botón Help de la barra de menú abre una ventana que nos da
acceso a una completa documentación de Matlab y de las toolbox que tenemos
instaladas. A esta información también se puede acceder con la instrucción doc
desde la ventana de comandos.
Figura 2. Botón de ayuda en la barra menú de Matlab.
 Comando helpwin. Abre una ventana con todas las funciones disponibles
agrupadas por categorías. Incluye una breve descripción de la categoría y de las
funciones. El comando help abre la misma lista de ayuda en la ventana de
comandos. En este caso puede especificarse la categoría que quiere visualizarse;
E
Análisis de datos numéricos y experimentales
Tema 2. Ideas clave
9
©
Universidad
Internacional
de
La
Rioja
(UNIR)
/
Universidad
Rovira
i
Virgili
(URV)
así, por ejemplo, el comando help elfun mostraría la lista de todas las funciones
matemáticas elementales.
 Comando lookfor. Permite buscar desde la ventana de comandos funciones que
contengan una determinada palabra en su descripción. Por ejemplo, lookfor zeros
busca todas las funciones que están a nuestra disposición que contengan la
palabra zeros en su definición. Hay que recordar que la documentación de Matlab
está en inglés, por lo que la palabra a buscar ha de estar en ese idioma.
>> lookfor zeros
zeros - Zeros array.
nonzeros - Nonzero matrix elements.
Removetrailzeros - Remove trailing zeros.
>>
Desde MathWorks
El sitio web de Mathworks (https://es.mathworks.com/) dispone de innumerables
fuentes de ayuda que incluye documentación en formato pdf, tutoriales y vídeos de
ayuda. Una de las opciones más interesantes es Matlab Central
(https://es.mathworks.com/matlabcentral/). Se trata de un sitio dedicado a la
comunidad de usuarios de Matlab que permite el intercambio de programas
desarrollados por los propios usuarios. Adicionalmente, también dispone de un
espacio de comunicación en el que preguntar o responder cuestiones específicas
sobre Matlab.
Análisis de datos numéricos y experimentales
Tema 2. Ideas clave
10
©
Universidad
Internacional
de
La
Rioja
(UNIR)
/
Universidad
Rovira
i
Virgili
(URV)
2.4. Operaciones básicas
ntes de empezar a programar con Matlab es necesario conocer los
conceptos y las operaciones básicas del lenguaje. Este apartado es
imprescindible para los alumnos que nunca han trabajado con Matlab.
Para empezar, es necesario dominar las nociones elementales que se introducen de
forma detallada en los temas 1 y 2 del documento Matlab Primer (2018):
Accede al documento a través del aula virtual o desde la siguiente dirección web:
https://es.mathworks.com/help/pdf_doc/matlab/getstart.pdf
Los alumnos de este curso que no hayan trabajado anteriormente con Matlab
deberán leer y asimilar la información que se ofrece en estos temas antes de
continuar con el curso. A lo largo de este tema y en el siguiente se ampliarán todos
los conceptos introducidos en esta sección. De forma resumida, se detallan a
continuación algunos conceptos básicos.
Tipos de variables
La ventana de variables de trabajo muestra todas las variables que Matlab tiene
almacenadas en su memoria en un momento determinado. Cada variable tiene unas
características determinadas, como son el nombre, tamaño, tipo o rango, y contiene
una serie de información que varía según la tipología de la variable. Los tipos más
importantes que Matlab acepta son:
 Variables numéricas. Contienen datos numéricos que por defecto son de doble
precisión. Pueden introducirse a partir de la lectura de un fichero, directamente
en el área de trabajo o como resultado de un cálculo matemático.
A
Análisis de datos numéricos y experimentales
Tema 2. Ideas clave
11
©
Universidad
Internacional
de
La
Rioja
(UNIR)
/
Universidad
Rovira
i
Virgili
(URV)
 Cadenas de caracteres. Permite el almacenamiento de una secuencia de
caracteres. Un uso típico es el almacenamiento de secuencias cortas de vectores
de texto como c = 'Hola mundo'. Matlab dispone de algunas operaciones para
trabajar con este tipo de variables.
 Structures. Son matrices con campos de nombres concretos que permiten
almacenar en cada uno variables de tipo diferente. El nombre de estas variables
consta de dos partes: el nombre de la variable y el nombre del campo concreto,
separadas por un punto. En el ejemplo que se muestra a continuación, la variable
paciente tiene tres campos (nombre, edad y sexo).
>> paciente(1).nombre = 'Juan' ;
>> paciente(1).edat = 53 ;
>> paciente(1).sexo = 'H' ;
>> paciente
paciente =
struct with fields:
nombre: 'Juan'
edat: 53
sexo: 'H'
>>
Análisis de datos numéricos y experimentales
Tema 2. Ideas clave
12
©
Universidad
Internacional
de
La
Rioja
(UNIR)
/
Universidad
Rovira
i
Virgili
(URV)
 Cell. Matrices multidimensionales en las que cada elemento puede almacenar una
variable de tipo diferente.
>> b{1}=2 ;
>> b{2}=[1 2 3 ];
>> b{3}='hola';
>> b
b =
1×3 cell array
{[2]} {1×3 double} {'hola'}
>>
Operaciones matemáticas
Las operaciones matemáticas básicas que podemos encontrar en Matlab son:
 + Suma.
 - Resta.
 * Multiplicación.
 / División.
  División izquierda (solución de sistemas de ecuaciones lineales).
 ^ Exponente.
 ' Transposición (cambia filas por columnas y también cambia el signo de los
elementos imaginarios de la matriz).
 ( ) Especifica el orden de operación.
El orden de ejecución de las operaciones es similar al de una calculadora normal:
primero se ejecutan las que van dentro de los paréntesis, después las
multiplicaciones, divisiones y exponenciales y, finalmente, las sumas y restas.
Análisis de datos numéricos y experimentales
Tema 2. Ideas clave
13
©
Universidad
Internacional
de
La
Rioja
(UNIR)
/
Universidad
Rovira
i
Virgili
(URV)
Es importante tener en cuenta que las operaciones en Matlab están basadas en el
cálculo matricial, sobre todo porque el producto de matrices no es conmutativo; es
decir, que el orden de los factores modifica el resultado. Por ejemplo, el simple
producto de dos vectores puede proporcionar resultados muy diferentes:
 Producto de un vector fila por un vector columna:
�
11
22
33
� ∗ (1.3 , 2.2 , 3.7) = �
14.3 24.2 40.7
28.6 48.4 81.4
42.9 72.6 122.1
�
 Producto un vector columna por un vector fila:
(1.3 , 2.2 , 3.7) ∗ �
11
22
33
� = 184.8
 Producto vector columna por vector columna o el producto de un vector fila por
un vector fila produciría error:
(1.3 , 2.2 , 3.7) ∗ (11 , 22 , 33)
�
11
22
33
� ∗ �
1.3
2.2
3.7
�
 Existe también el caso de que la operación que se desea realizar sea un producto
elemento a elemento:
𝐴𝐴 = (1.3 , 2.2 , 3.7)
𝐵𝐵 = (11 , 22 , 33)
𝐶𝐶 = 𝐴𝐴 ∗ 𝐵𝐵 = (1.3 ∗ 11 ,2.2 ∗ 22 , 3.7 ∗ 33) = (14.3 , 48.4 ,122.1)
Análisis de datos numéricos y experimentales
Tema 2. Ideas clave
14
©
Universidad
Internacional
de
La
Rioja
(UNIR)
/
Universidad
Rovira
i
Virgili
(URV)
En estos casos es imprescindible que los vectores (o matrices) sean del mismo
tamaño y los operadores que se han de utilizar serán:
 + Suma (no varía, ya que las sumas siempre son elemento a elemento).
 - Resta (no varía, ya que las restas siempre son elemento a elemento).
 .* Multiplicación.
 ./ División.
 . División izquierda.
 .^ Exponente.
 .' Transposición no conjugada (cambia filas por columnas sin cambiar el signo
de los elementos imaginarios de la matriz. Si la matriz A no contienen elementos
imaginarios, las operaciones A‘ i A.’ proporcionan el mismo resultado).
Operadores relacionales y operadores lógicos
Los operadores relacionales se utilizan para comparar el contenido de variables entre
sí o con otros valores. Los operadores relacionales definidos en Matlab son:
 < menor que.
 > mayor que.
 <= menor o igual que.
 >= mayor o igual que.
 == igual a. No confundir el uso de = (asignación de valor) y == (comparación)
 ~= distinto de (alt gr + 4 para obtener el símbolo ~).
El resultado de las comparaciones son 1 si es verdadera o 0 si es falsa. En el caso de
comparar matrices la comparación se realiza elemento a elemento (por lo que las
matrices a comparar han de ser de igual tamaño) y el resultado es una matriz del
mismo tamaño con 0 y 1, con la indicación de si la comparación es verdadera o falsa.
Análisis de datos numéricos y experimentales
Tema 2. Ideas clave
15
©
Universidad
Internacional
de
La
Rioja
(UNIR)
/
Universidad
Rovira
i
Virgili
(URV)
Los operadores lógicos sirven para agrupar y comparar entre sí el resultado de
diferentes operadores relacionales. Los operadores lógicos definidos en Matlab son:
 & (and) Verdadero si las dos comparaciones son verdaderas.
 | (or) Verdadero si una de las dos comparaciones es verdadera.
 ~(not) Verdadero si la comparación es falsa.
A continuación, vemos algunos ejemplos de aplicación de operadores lógicos:
>> a = 5 ;
>> b = 8 ;
>> (a > 2) & (b == 8 )
ans = 1
>> ~(b == 8 )
ans = 0
>> (a ==4) | (b == 8 )
ans = 1
>>
Funciones internas
Matlab y sus toolboxes disponen de un elevado número de funciones preparadas
para su uso. Se puede acceder a la lista de funciones internas a través de las
herramientas de ayuda o haciendo clic sobre el icono fx que aparece en la parte
superior izquierda de la ventana de comandos y que nos conducirá directamente a
un listado de todas las funciones que tenemos instaladas (ver figura 3).
En general, todas las funciones tienen tres componentes: nombre, entrada y salida.
Por ejemplo, si se quiere calcular la raíz cuadrada de un número se puede utilizar la
función sqrt. Si consultamos cómo se utiliza (help sqrt) vemos que simplemente se ha
de escribir el nombre de la función seguido del valor sobre el que actúa entre
paréntesis. Muchas de las funciones internas actúan calculando elemento a elemento
Análisis de datos numéricos y experimentales
Tema 2. Ideas clave
16
©
Universidad
Internacional
de
La
Rioja
(UNIR)
/
Universidad
Rovira
i
Virgili
(URV)
en el caso de matrices, aunque siempre es aconsejable consultar la ayuda de la
función.
>> A=9;
>> b=sqrt(A)
b =
3
>>
Figura 3. Obtención de información sobre las funciones internas disponibles.
Gráficos
En general, los gráficos son una herramienta necesaria para la correcta interpretación
de datos numéricos. En una gráfica es fácil identificar tendencias, máximos o
mínimos, elegir intervalos de interés o identificar datos inconsistentes. También nos
permite comparar cualitativamente varias series de datos de forma rápida. Matlab
ofrece un gran número de tipos de gráficos. Para un mejor seguimiento del curso, las
personas que no han trabajado nunca con Matlab han de consultar el capítulo 4 de
Matlab Primer, en el que se introducen los conceptos básicos relacionados con los
gráficos en este programa.
Análisis de datos numéricos y experimentales
Tema 2. Ideas clave
17
©
Universidad
Internacional
de
La
Rioja
(UNIR)
/
Universidad
Rovira
i
Virgili
(URV)
Antes de crear un gráfico (por ejemplo, utilizando la función plot) es aconsejable crear
una nueva ventana de uso exclusivo para el mismo. Esta ventana se crea con la
función figure. Otras funciones que se utilizan de forma habitual son:
 subplot. Permite crear diferentes gráficos de forma separada en una misma
ventana (figura).
 hold on. Permite representar en una sola gráfica diferentes series de datos. Se
desactiva con hold off.
 axis. Controla los valores límite de los ejes de coordenadas representados.
2.5. Scripts
al y como ya se ha comentado anteriormente, Matlab ofrece un entorno
que permite un trabajo interactivo, pero también es un potente lenguaje de
programación. Como tal, es capaz de admitir la creación de ficheros con
código, que permitirá la ejecución de forma consecutiva de una serie de comandos y
funciones de Matlab.
Existen dos tipos diferentes de ficheros de programas en Matlab:
 scripts. Programa que no acepta argumentos de entrada o salida de forma directa.
Trabaja con las variables del workspace.
 functions. Acepta argumentos de entrada o de salida. Las variables con las que
trabaja son internas de la función. Las funciones se tratarán en el tema
«Programación con Matlab» de esta asignatura.
Tanto las funciones como los scripts son ficheros de texto con extensión .m. Para
generar un script (o función) se puede utilizar cualquier editor de texto, aunque
siempre es recomendable utilizar el editor de Matlab, ya que incluye algunas
funcionalidades específicas que facilitan el trabajo de edición y depuración del
código. Para abrir el editor es suficiente con seleccionar new/script en la barra de
T
Análisis de datos numéricos y experimentales
Tema 2. Ideas clave
18
©
Universidad
Internacional
de
La
Rioja
(UNIR)
/
Universidad
Rovira
i
Virgili
(URV)
herramientas o escribir en la ventana de comando edit me_prog.m. Si el fichero
me_pro.m existe lo abrirá para permitir su edición; en caso de que no exista, nos
preguntará si deseamos crearlo y abrirá una ventana del editor en blanco.
Cuando se invoca un script, Matlab simplemente ejecuta de forma secuencial los
comandos que va encontrando en el fichero. Se obtendría el mismo resultado final si
se fuera entrando (y ejecutando) en la ventana de comando cada una de las líneas
que encontramos en el programa. Aunque los scripts no aceptan argumentos de
entrada directamente, sí que pueden trabajar con las variables ya existentes del
workspace. De igual forma, aunque no permiten argumentos de salida, los resultados
de los cálculos que realiza pueden quedar almacenados en nuevas variables que
permanecen el workspace una vez finalizada la ejecución del programa. Por ejemplo,
podemos crear la función plotSin.m, que graficará una función periódica:
% plotSin.m
% Función que calcula los valores de una función
% periódica y la representa gráficamente
Ini = 0 ;
fin = 3*pi ;
npun = 100 ;
x = linspace(ini,fin,npun) ;
y=sin(x);
figure ;
plot (x,y,'o-r') ;
xlabel('angulo (rad)')
ylabel ('f(x)') ;
Explicación:
 Comentarios: nombre de la función y descripción.
 Asignación de algunos parámetros: valor inicial, valor final, número de puntos,
creación de la variable independiente (x) y cálculo de la variable dependiente (y).
Análisis de datos numéricos y experimentales
Tema 2. Ideas clave
19
©
Universidad
Internacional
de
La
Rioja
(UNIR)
/
Universidad
Rovira
i
Virgili
(URV)
 Creación del gráfico.
Al invocar la función plotSin.m desde la línea de comandos aparecerá una nueva
ventana con el grafico solicitado (ver figura 4) y en el workspace tendremos nuevas
variables creadas a lo largo de la ejecución del programa (ver figura 5).
Figura 4. Figura que aparece al ejecutar el programa de ejemplo plotSim.m
Figura 5. Vista de la ventana del workspace después de ejecutar el programa de ejemplo
plotSim.m.
Análisis de datos numéricos y experimentales
Tema 2. Ideas clave
20
©
Universidad
Internacional
de
La
Rioja
(UNIR)
/
Universidad
Rovira
i
Virgili
(URV)
2.6. Referencias bibliográficas
MathWorks (2018). Matlab Primer. Recuperado
de https://es.mathworks.com/help/pdf_doc/matlab/getstart.pdf
Análisis de datos numéricos y experimentales
Tema 2. A fondo
21
©
Universidad
Internacional
de
La
Rioja
(UNIR)
/
Universidad
Rovira
i
Virgili
(URV)
A fondo
Tipos de variables en Matlab
Información detallada del tipo de variables que pueden utilizarse en Matlab. Podéis
acceder a esta información utilizando vuestra cuenta de MathWorks.
Accede al recurso a través del aula virtual o desde la siguiente dirección web:
https://es.mathworks.com/help/matlab/data-types_data-types.html
Análisis de datos numéricos y experimentales
Tema 2. Test
22
©
Universidad
Internacional
de
La
Rioja
(UNIR)
/
Universidad
Rovira
i
Virgili
(URV)
Test
El test se ha de realizar utilizando Matlab. Pueden consultarse las diferentes fuentes
de ayuda de este software. Algunas de las preguntas pueden resultar
extremadamente fáciles si se busca únicamente la respuesta. Por ejemplo, podemos
encontrar preguntas del tipo «¿Cuál es el valor de c si c= (3+4)^3+4?». El objetivo de
este cuestionario es que el alumno obtenga las respuestas a partir de instrucciones
introducidas en la línea de comandos de Matlab, no realizando el cálculo
mentalmente.
1. ¿Cuál es el resultado de esta operación matemática? 3^2*3^2
A. 81.
B. 36.
C. 216.
D. 6.
2. ¿Cuál es el resultado de esta operación lógica? 12<14
A. 1.
B. 0.
C. 12.
D. 14.
3. Si utilizamos esta instrucción plot(x,y,'--r'), la línea que une los puntos de la
gráfica será:
A. Roja y sólida.
B. Roja a puntos.
C. Roja con línea-punto.
D. Roja con línea discontinua.
Análisis de datos numéricos y experimentales
Tema 2. Test
23
©
Universidad
Internacional
de
La
Rioja
(UNIR)
/
Universidad
Rovira
i
Virgili
(URV)
4. Dadas las matrices A y B, ¿qué operación de las que se muestran no está
permitida en Matlab? A=[1,3; 2,5]; B=[1; 8]
A. AB.
B. B*A.
C. A*B(1).
D. A.*B.
5. Si ejecutamos el siguiente código en la ventana de comandos, ¿qué respuesta
obtendremos? y = a + b , a = 2 ; b = sqrt(‐4)
A. 2 + 2i.
B. 2 – 2i.
C. Mensaje de error.
D. Ninguno de los anteriores.
6. ¿Cuál es el resultado de la siguiente instrucción? clear x y
A. Borrar todas las variables del workspace.
B. Borrar las variables x y.
C. Produce error.
D. Sustituye el valor de x por el de y.
7. Indica cómo se denomina la clase de variable que permite que cada elemento de
la matriz que forma sea de un tipo diferente:
A. Lógica.
B. Double.
C. Cell.
D. Integer.
Análisis de datos numéricos y experimentales
Tema 2. Test
24
©
Universidad
Internacional
de
La
Rioja
(UNIR)
/
Universidad
Rovira
i
Virgili
(URV)
8. Un conjunto de observaciones toma los valores 4.2, 2.7, 3.1, 5.0 y 3.9. ¿Qué
instrucción podemos utilizar para almacenar los datos en un vector columna A?
A. A1 = 4.2, A2 = 2.7, A3 = 3.1, A4 = 5.0, A5 = 3.9.
B. A = [4.2, 2.7, 3.1, 5.0, 3.9].
C. A = (4.2, 2.7, 3.1, 5.0, 3.9).
D. A = [4.2; 2.7; 3.1; 5.0; 3.9].
9. Indica el resultado de ejecutar los dos comandos siguientes: A = (1:4)’ ;
size(A)
A. 1 4.
B. 4 1.
C. 4.
D. Error, una de las dos instrucciones es incorrecta.
10. Indica el resultado de ejecutar los dos comandos siguientes: size= (1:4)’ ;
size(size)
A. 1 4.
B. 4 1.
C. 4.
D. Error, una de las dos instrucciones es incorrecta.

More Related Content

Similar to Tema2 fundamentos de matlab

interfacing matlab with embedded systems
interfacing matlab with embedded systemsinterfacing matlab with embedded systems
interfacing matlab with embedded systemsRaghav Shetty
 
Kevin merchantss
Kevin merchantssKevin merchantss
Kevin merchantssdharmesh69
 
KEVIN MERCHANT DOCUMENT
KEVIN MERCHANT DOCUMENTKEVIN MERCHANT DOCUMENT
KEVIN MERCHANT DOCUMENTtejas1235
 
Matlab Introduction
Matlab IntroductionMatlab Introduction
Matlab IntroductionDaniel Moore
 
Introduction to Matlab for finance-Modrika
Introduction to Matlab for finance-ModrikaIntroduction to Matlab for finance-Modrika
Introduction to Matlab for finance-ModrikaMODRIKA
 
Simulink Lab Manual final.doc
Simulink Lab Manual final.docSimulink Lab Manual final.doc
Simulink Lab Manual final.docAkashPatel490216
 
From zero to MATLAB hero: Mastering the basics and beyond
From zero to MATLAB hero: Mastering the basics and beyondFrom zero to MATLAB hero: Mastering the basics and beyond
From zero to MATLAB hero: Mastering the basics and beyondMahuaPal6
 
A definitive guide on math works matlab to the students
A definitive guide on math works matlab to the studentsA definitive guide on math works matlab to the students
A definitive guide on math works matlab to the studentsmatlabassignmenthelp1
 
Matlab for Electrical Engineers
Matlab for Electrical EngineersMatlab for Electrical Engineers
Matlab for Electrical EngineersManish Joshi
 
MATLAB Assignment Help
MATLAB Assignment HelpMATLAB Assignment Help
MATLAB Assignment Helpjohn ty
 
IEEE Papers on Image Processing
IEEE Papers on Image ProcessingIEEE Papers on Image Processing
IEEE Papers on Image ProcessingE2MATRIX
 

Similar to Tema2 fundamentos de matlab (20)

Basic matlab for beginners
Basic matlab for beginnersBasic matlab for beginners
Basic matlab for beginners
 
interfacing matlab with embedded systems
interfacing matlab with embedded systemsinterfacing matlab with embedded systems
interfacing matlab with embedded systems
 
Kevin merchantss
Kevin merchantssKevin merchantss
Kevin merchantss
 
KEVIN MERCHANT DOCUMENT
KEVIN MERCHANT DOCUMENTKEVIN MERCHANT DOCUMENT
KEVIN MERCHANT DOCUMENT
 
Matlab Introduction
Matlab IntroductionMatlab Introduction
Matlab Introduction
 
An ntutorial[1]
An ntutorial[1]An ntutorial[1]
An ntutorial[1]
 
Introduction to matlab
Introduction to matlabIntroduction to matlab
Introduction to matlab
 
MATLAB INTRODUCTION
MATLAB INTRODUCTIONMATLAB INTRODUCTION
MATLAB INTRODUCTION
 
Matlab tut2
Matlab tut2Matlab tut2
Matlab tut2
 
EE6711 Power System Simulation Lab manual
EE6711 Power System Simulation Lab manualEE6711 Power System Simulation Lab manual
EE6711 Power System Simulation Lab manual
 
Mmc manual
Mmc manualMmc manual
Mmc manual
 
Introduction to Matlab for finance-Modrika
Introduction to Matlab for finance-ModrikaIntroduction to Matlab for finance-Modrika
Introduction to Matlab for finance-Modrika
 
Simulink Lab Manual final.doc
Simulink Lab Manual final.docSimulink Lab Manual final.doc
Simulink Lab Manual final.doc
 
Matlab summary
Matlab summaryMatlab summary
Matlab summary
 
From zero to MATLAB hero: Mastering the basics and beyond
From zero to MATLAB hero: Mastering the basics and beyondFrom zero to MATLAB hero: Mastering the basics and beyond
From zero to MATLAB hero: Mastering the basics and beyond
 
A definitive guide on math works matlab to the students
A definitive guide on math works matlab to the studentsA definitive guide on math works matlab to the students
A definitive guide on math works matlab to the students
 
Matlab for Electrical Engineers
Matlab for Electrical EngineersMatlab for Electrical Engineers
Matlab for Electrical Engineers
 
MATLAB Assignment Help
MATLAB Assignment HelpMATLAB Assignment Help
MATLAB Assignment Help
 
IEEE Papers on Image Processing
IEEE Papers on Image ProcessingIEEE Papers on Image Processing
IEEE Papers on Image Processing
 
communication system.docx
communication system.docxcommunication system.docx
communication system.docx
 

Recently uploaded

Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.Kamal Acharya
 
Query optimization and processing for advanced database systems
Query optimization and processing for advanced database systemsQuery optimization and processing for advanced database systems
Query optimization and processing for advanced database systemsmeharikiros2
 
Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...
Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...
Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...ssuserdfc773
 
Ground Improvement Technique: Earth Reinforcement
Ground Improvement Technique: Earth ReinforcementGround Improvement Technique: Earth Reinforcement
Ground Improvement Technique: Earth ReinforcementDr. Deepak Mudgal
 
Electromagnetic relays used for power system .pptx
Electromagnetic relays used for power system .pptxElectromagnetic relays used for power system .pptx
Electromagnetic relays used for power system .pptxNANDHAKUMARA10
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXssuser89054b
 
8th International Conference on Soft Computing, Mathematics and Control (SMC ...
8th International Conference on Soft Computing, Mathematics and Control (SMC ...8th International Conference on Soft Computing, Mathematics and Control (SMC ...
8th International Conference on Soft Computing, Mathematics and Control (SMC ...josephjonse
 
Post office management system project ..pdf
Post office management system project ..pdfPost office management system project ..pdf
Post office management system project ..pdfKamal Acharya
 
Memory Interfacing of 8086 with DMA 8257
Memory Interfacing of 8086 with DMA 8257Memory Interfacing of 8086 with DMA 8257
Memory Interfacing of 8086 with DMA 8257subhasishdas79
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...HenryBriggs2
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdfKamal Acharya
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdfKamal Acharya
 
8086 Microprocessor Architecture: 16-bit microprocessor
8086 Microprocessor Architecture: 16-bit microprocessor8086 Microprocessor Architecture: 16-bit microprocessor
8086 Microprocessor Architecture: 16-bit microprocessorAshwiniTodkar4
 
UNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptxUNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptxkalpana413121
 
Max. shear stress theory-Maximum Shear Stress Theory ​ Maximum Distortional ...
Max. shear stress theory-Maximum Shear Stress Theory ​  Maximum Distortional ...Max. shear stress theory-Maximum Shear Stress Theory ​  Maximum Distortional ...
Max. shear stress theory-Maximum Shear Stress Theory ​ Maximum Distortional ...ronahami
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"mphochane1998
 
Introduction to Artificial Intelligence ( AI)
Introduction to Artificial Intelligence ( AI)Introduction to Artificial Intelligence ( AI)
Introduction to Artificial Intelligence ( AI)ChandrakantDivate1
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiessarkmank1
 

Recently uploaded (20)

Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Query optimization and processing for advanced database systems
Query optimization and processing for advanced database systemsQuery optimization and processing for advanced database systems
Query optimization and processing for advanced database systems
 
Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...
Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...
Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...
 
Ground Improvement Technique: Earth Reinforcement
Ground Improvement Technique: Earth ReinforcementGround Improvement Technique: Earth Reinforcement
Ground Improvement Technique: Earth Reinforcement
 
Electromagnetic relays used for power system .pptx
Electromagnetic relays used for power system .pptxElectromagnetic relays used for power system .pptx
Electromagnetic relays used for power system .pptx
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
8th International Conference on Soft Computing, Mathematics and Control (SMC ...
8th International Conference on Soft Computing, Mathematics and Control (SMC ...8th International Conference on Soft Computing, Mathematics and Control (SMC ...
8th International Conference on Soft Computing, Mathematics and Control (SMC ...
 
Post office management system project ..pdf
Post office management system project ..pdfPost office management system project ..pdf
Post office management system project ..pdf
 
Memory Interfacing of 8086 with DMA 8257
Memory Interfacing of 8086 with DMA 8257Memory Interfacing of 8086 with DMA 8257
Memory Interfacing of 8086 with DMA 8257
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdf
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
8086 Microprocessor Architecture: 16-bit microprocessor
8086 Microprocessor Architecture: 16-bit microprocessor8086 Microprocessor Architecture: 16-bit microprocessor
8086 Microprocessor Architecture: 16-bit microprocessor
 
UNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptxUNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptx
 
Signal Processing and Linear System Analysis
Signal Processing and Linear System AnalysisSignal Processing and Linear System Analysis
Signal Processing and Linear System Analysis
 
Max. shear stress theory-Maximum Shear Stress Theory ​ Maximum Distortional ...
Max. shear stress theory-Maximum Shear Stress Theory ​  Maximum Distortional ...Max. shear stress theory-Maximum Shear Stress Theory ​  Maximum Distortional ...
Max. shear stress theory-Maximum Shear Stress Theory ​ Maximum Distortional ...
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
 
Introduction to Artificial Intelligence ( AI)
Introduction to Artificial Intelligence ( AI)Introduction to Artificial Intelligence ( AI)
Introduction to Artificial Intelligence ( AI)
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 

Tema2 fundamentos de matlab

  • 1. Tema nº 2 Fundamentos de Matlab Análisis de datos numéricos y experimentales
  • 2. © Universidad Internacional de La Rioja (UNIR) / Universidad Rovira i Virgili (URV) Índice Esquema 3 Ideas clave 4 2.1. Introducción y objetivos 4 2.2. Entorno de trabajo en Matlab 6 2.3. Ayuda en Matlab 8 2.4. Operaciones básicas 10 2.5. Scripts 17 2.6. Referencias bibliográficas 20 A fondo 21 Test 22
  • 3. Análisis de datos numéricos y experimentales Tema 2. Esquema 3 © Universidad Internacional de La Rioja (UNIR) / Universidad Rovira i Virgili (URV) Esquema FUNDAMENTOSDE MATLAB - Descripciónde lainterfazde usuario - Ventanasde trabajo E n t o r n o d e t r a b a j o d e M a t l a b Herramientas,funcionesysitiosweben losque obtenerayudasobre el entorno y lasfuncionesde Matlab A y u d a e n M a t l a b - Variables - Operacionesmatemáticas - Operadoresrelacionales - Operadoreslógicas - Funcionesinternas - Gráficos O p e r a c i o n e s b á s i c a s Introducciónala creaciónde programas S c r i p t s
  • 4. Análisis de datos numéricos y experimentales Tema 2. Ideas clave 4 © Universidad Internacional de La Rioja (UNIR) / Universidad Rovira i Virgili (URV) Ideas clave 2.1. Introducción y objetivos n este tema vamos a introducir los conceptos básicos que nos permitirán realizar operaciones simples en Matlab. El objetivo principal del tema es que os familiaricéis con el entorno de trabajo de Matlab, con su forma de tratar los datos y con las instrucciones básicas imprescindibles para empezar a programar. Este tema del curso está pensado para las personas que nunca han trabajado con este software o que necesitan refrescar sus conocimientos. Además de ser una aplicación que proporciona un entorno de trabajo, Matlab es un lenguaje de programación que permite, entre otras funciones, manipular vectores y matrices, crear gráficos especializados, implementar algoritmos o crear interfaces de usuario. Matlab es un programa comercial de la compañía MathWorks que ha ido evolucionando desde sus orígenes a finales de la década de los setenta. Es muy utilizado actualmente a nivel industrial y en la enseñanza e investigación. Generalmente, MathWorks ofrece cada año un par de actualizaciones de Matlab que introducen mejoras del programa, pero no cambios muy significativos en la apariencia o en el lenguaje de programación. Matlab es un programa multiplataforma (Windows, macOS o Linux) que funciona en ordenadores de 64-bit. La última versión disponible para ordenadores de 32-bit fue la del año 2015. Existen programas análogos de código libre que, en general, incluyen un número inferior de funcionalidades, pero que económicamente pueden ser una buena opción. En este grupo de programas encontramos Octave o Scilab, los cuales utilizan un lenguaje de programación muy similar al de Matlab. E
  • 5. Análisis de datos numéricos y experimentales Tema 2. Ideas clave 5 © Universidad Internacional de La Rioja (UNIR) / Universidad Rovira i Virgili (URV) El paquete básico de Matlab incluye todas las funcionalidades del programa y permite definir todo tipo de aplicaciones personalizadas utilizando su entorno y su lenguaje de programación. Adicionalmente, Matlab dispone de paquetes de funciones llamados toolbox, que se distribuyen de forma separada al programa. Estos paquetes son conjuntos de funciones diseñadas específicamente para una aplicación concreta. Por ejemplo, existen paquetes para aplicaciones de lógica difusa, wavelets, solución de ecuaciones diferenciales parciales, sistemas robóticos, adquisición y procesado de imágenes, etc. Matlab no requiere de estos paquetes para disponer de todo su potencial; simplemente se trata de un conjunto de funciones que pueden facilitar el trabajo en un campo concreto. A lo largo de este curso vamos a utilizar algunas de estas toolbox, como son la Fuzzy Logic Toolbox, la Wavelet Toolbox y la Signal Processing Toolbox. Nomenclatura En este documento se pueden encontrar ejemplos a implementar en Matlab, referencias a instrucciones específicas y muestras de los resultados que este programa proporciona. Para facilitar la comprensión del texto se ha optado por mostrar las instrucciones en Matlab como texto en azul y cursiva. Así, si hacemos referencia a la instrucción «edit prog.m», la encontraremos escrita como edit prog.m. Por otro lado, los ejemplos introducidos en la ventana de trabajo y los resultados que Matlab proporciona se muestran dentro de recuadros azules; por ejemplo: >> a = 3 ; >> b = 4 ; >> c = a + b c = 7 >>
  • 6. Análisis de datos numéricos y experimentales Tema 2. Ideas clave 6 © Universidad Internacional de La Rioja (UNIR) / Universidad Rovira i Virgili (URV) 2.2. Entorno de trabajo en Matlab l inicializar Matlab aparecerán un grupo de ventanas que forman el entorno de trabajo del programa y un conjunto de barras de menú que permiten el acceso a las diferentes funcionalidades y aplicaciones (ver figura 1). Al iniciarse Matlab encontramos por defecto tres ventanas:  Ventana de comandos (command window). Es la ventana principal. Permite interactuar directamente con Matlab. Se utiliza para ejecutar programas o escribir y resolver operaciones matemáticas. También es la ventana donde por defecto aparecen los resultados de los cálculos realizados.  Ventana de variables de trabajo (workspace). Lista las variables que en cualquier momento de la sesión de trabajo están en memoria y algunas de sus características (nombre, tipo, valor…). Al hacer doble clic sobre alguna de las variables se abre un editor,conunformatosimilar aunahojade cálculo,quepermite visualizar ymodificar el valor de las mismas. El uso del botón derecho del ratón sobre esta ventana permite crear nuevas variables o guardar su contenido en un fichero .mat (formato específico de datos de Matlab), entre otras opciones.  Ventana del directorio actual (current window). Muestra el contenido del directorio en el que se está trabajando. Desde esta ventana se pueden abrir los ficheros de Matlab directamente haciendo doble clic sobre ellos, tanto si son programas como si son ficheros de datos. En la barra de menú aparece el nombre de este directorio, que se puede cambiar fácilmente. A
  • 7. Análisis de datos numéricos y experimentales Tema 2. Ideas clave 7 © Universidad Internacional de La Rioja (UNIR) / Universidad Rovira i Virgili (URV) Figura 1. Entorno de trabajo de Matlab tal y como aparece al iniciar el programa. Existe otro conjunto de ventanas que no son visibles al iniciar Matlab y que se irán abriendo a lo largo del proceso de trabajo según sean necesarias. Algunas de las más importantes son:  Ventana de historia comandos (command history). Se puede acceder a ella desde el botón Layout en la barra de menú y permite acceder al historial de instrucciones introducidas en la ventana de comandos a lo largo de la sesión de trabajo actual.  Ventana gráfica. Aparece de forma automática cuando se pide a Matlab que realice un gráfico o que muestre una imagen. La instrucción figure genera una ventana gráfica vacía.  Ventana de edición. Se abre al editar un fichero .m (programa de Matlab), desde la barra de menú o al escribir edit o edit NombreDeUnFichero.m en la ventana de comandos. Básicamente, se trata de un editor de texto que permite escribir de forma secuencial todas las instrucciones de un programa en Matlab para su posterior ejecución. Incluye funcionalidades específicas que permiten controlar la ejecución del código.
  • 8. Análisis de datos numéricos y experimentales Tema 2. Ideas clave 8 © Universidad Internacional de La Rioja (UNIR) / Universidad Rovira i Virgili (URV) 2.3. Ayuda en Matlab l lenguaje d programación de Matlab utiliza un gran número de funciones matemáticas. Asimismo, el usuario tiene a su disposición una elevada cantidad de instrucciones definidas tanto en el propio programa como en las toolbox específicas para cada aplicación. Por este motivo se hace imprescindible disponer de buenas herramientas de ayuda que permitan al usuario conocer la funcionalidad y el formato de todas las instrucciones que puede utilizar. Sin tener en cuenta el material disponible de fuentes externas al propio programa, a continuación se listan las opciones más utilizadas para la obtención de ayuda en Matlab. Desde el propio Matlab El propio Matlab dispone de numerosas opciones para conseguir ayuda sobre sus funciones y aplicaciones:  Barra de menú. El botón Help de la barra de menú abre una ventana que nos da acceso a una completa documentación de Matlab y de las toolbox que tenemos instaladas. A esta información también se puede acceder con la instrucción doc desde la ventana de comandos. Figura 2. Botón de ayuda en la barra menú de Matlab.  Comando helpwin. Abre una ventana con todas las funciones disponibles agrupadas por categorías. Incluye una breve descripción de la categoría y de las funciones. El comando help abre la misma lista de ayuda en la ventana de comandos. En este caso puede especificarse la categoría que quiere visualizarse; E
  • 9. Análisis de datos numéricos y experimentales Tema 2. Ideas clave 9 © Universidad Internacional de La Rioja (UNIR) / Universidad Rovira i Virgili (URV) así, por ejemplo, el comando help elfun mostraría la lista de todas las funciones matemáticas elementales.  Comando lookfor. Permite buscar desde la ventana de comandos funciones que contengan una determinada palabra en su descripción. Por ejemplo, lookfor zeros busca todas las funciones que están a nuestra disposición que contengan la palabra zeros en su definición. Hay que recordar que la documentación de Matlab está en inglés, por lo que la palabra a buscar ha de estar en ese idioma. >> lookfor zeros zeros - Zeros array. nonzeros - Nonzero matrix elements. Removetrailzeros - Remove trailing zeros. >> Desde MathWorks El sitio web de Mathworks (https://es.mathworks.com/) dispone de innumerables fuentes de ayuda que incluye documentación en formato pdf, tutoriales y vídeos de ayuda. Una de las opciones más interesantes es Matlab Central (https://es.mathworks.com/matlabcentral/). Se trata de un sitio dedicado a la comunidad de usuarios de Matlab que permite el intercambio de programas desarrollados por los propios usuarios. Adicionalmente, también dispone de un espacio de comunicación en el que preguntar o responder cuestiones específicas sobre Matlab.
  • 10. Análisis de datos numéricos y experimentales Tema 2. Ideas clave 10 © Universidad Internacional de La Rioja (UNIR) / Universidad Rovira i Virgili (URV) 2.4. Operaciones básicas ntes de empezar a programar con Matlab es necesario conocer los conceptos y las operaciones básicas del lenguaje. Este apartado es imprescindible para los alumnos que nunca han trabajado con Matlab. Para empezar, es necesario dominar las nociones elementales que se introducen de forma detallada en los temas 1 y 2 del documento Matlab Primer (2018): Accede al documento a través del aula virtual o desde la siguiente dirección web: https://es.mathworks.com/help/pdf_doc/matlab/getstart.pdf Los alumnos de este curso que no hayan trabajado anteriormente con Matlab deberán leer y asimilar la información que se ofrece en estos temas antes de continuar con el curso. A lo largo de este tema y en el siguiente se ampliarán todos los conceptos introducidos en esta sección. De forma resumida, se detallan a continuación algunos conceptos básicos. Tipos de variables La ventana de variables de trabajo muestra todas las variables que Matlab tiene almacenadas en su memoria en un momento determinado. Cada variable tiene unas características determinadas, como son el nombre, tamaño, tipo o rango, y contiene una serie de información que varía según la tipología de la variable. Los tipos más importantes que Matlab acepta son:  Variables numéricas. Contienen datos numéricos que por defecto son de doble precisión. Pueden introducirse a partir de la lectura de un fichero, directamente en el área de trabajo o como resultado de un cálculo matemático. A
  • 11. Análisis de datos numéricos y experimentales Tema 2. Ideas clave 11 © Universidad Internacional de La Rioja (UNIR) / Universidad Rovira i Virgili (URV)  Cadenas de caracteres. Permite el almacenamiento de una secuencia de caracteres. Un uso típico es el almacenamiento de secuencias cortas de vectores de texto como c = 'Hola mundo'. Matlab dispone de algunas operaciones para trabajar con este tipo de variables.  Structures. Son matrices con campos de nombres concretos que permiten almacenar en cada uno variables de tipo diferente. El nombre de estas variables consta de dos partes: el nombre de la variable y el nombre del campo concreto, separadas por un punto. En el ejemplo que se muestra a continuación, la variable paciente tiene tres campos (nombre, edad y sexo). >> paciente(1).nombre = 'Juan' ; >> paciente(1).edat = 53 ; >> paciente(1).sexo = 'H' ; >> paciente paciente = struct with fields: nombre: 'Juan' edat: 53 sexo: 'H' >>
  • 12. Análisis de datos numéricos y experimentales Tema 2. Ideas clave 12 © Universidad Internacional de La Rioja (UNIR) / Universidad Rovira i Virgili (URV)  Cell. Matrices multidimensionales en las que cada elemento puede almacenar una variable de tipo diferente. >> b{1}=2 ; >> b{2}=[1 2 3 ]; >> b{3}='hola'; >> b b = 1×3 cell array {[2]} {1×3 double} {'hola'} >> Operaciones matemáticas Las operaciones matemáticas básicas que podemos encontrar en Matlab son:  + Suma.  - Resta.  * Multiplicación.  / División.  División izquierda (solución de sistemas de ecuaciones lineales).  ^ Exponente.  ' Transposición (cambia filas por columnas y también cambia el signo de los elementos imaginarios de la matriz).  ( ) Especifica el orden de operación. El orden de ejecución de las operaciones es similar al de una calculadora normal: primero se ejecutan las que van dentro de los paréntesis, después las multiplicaciones, divisiones y exponenciales y, finalmente, las sumas y restas.
  • 13. Análisis de datos numéricos y experimentales Tema 2. Ideas clave 13 © Universidad Internacional de La Rioja (UNIR) / Universidad Rovira i Virgili (URV) Es importante tener en cuenta que las operaciones en Matlab están basadas en el cálculo matricial, sobre todo porque el producto de matrices no es conmutativo; es decir, que el orden de los factores modifica el resultado. Por ejemplo, el simple producto de dos vectores puede proporcionar resultados muy diferentes:  Producto de un vector fila por un vector columna: � 11 22 33 � ∗ (1.3 , 2.2 , 3.7) = � 14.3 24.2 40.7 28.6 48.4 81.4 42.9 72.6 122.1 �  Producto un vector columna por un vector fila: (1.3 , 2.2 , 3.7) ∗ � 11 22 33 � = 184.8  Producto vector columna por vector columna o el producto de un vector fila por un vector fila produciría error: (1.3 , 2.2 , 3.7) ∗ (11 , 22 , 33) � 11 22 33 � ∗ � 1.3 2.2 3.7 �  Existe también el caso de que la operación que se desea realizar sea un producto elemento a elemento: 𝐴𝐴 = (1.3 , 2.2 , 3.7) 𝐵𝐵 = (11 , 22 , 33) 𝐶𝐶 = 𝐴𝐴 ∗ 𝐵𝐵 = (1.3 ∗ 11 ,2.2 ∗ 22 , 3.7 ∗ 33) = (14.3 , 48.4 ,122.1)
  • 14. Análisis de datos numéricos y experimentales Tema 2. Ideas clave 14 © Universidad Internacional de La Rioja (UNIR) / Universidad Rovira i Virgili (URV) En estos casos es imprescindible que los vectores (o matrices) sean del mismo tamaño y los operadores que se han de utilizar serán:  + Suma (no varía, ya que las sumas siempre son elemento a elemento).  - Resta (no varía, ya que las restas siempre son elemento a elemento).  .* Multiplicación.  ./ División.  . División izquierda.  .^ Exponente.  .' Transposición no conjugada (cambia filas por columnas sin cambiar el signo de los elementos imaginarios de la matriz. Si la matriz A no contienen elementos imaginarios, las operaciones A‘ i A.’ proporcionan el mismo resultado). Operadores relacionales y operadores lógicos Los operadores relacionales se utilizan para comparar el contenido de variables entre sí o con otros valores. Los operadores relacionales definidos en Matlab son:  < menor que.  > mayor que.  <= menor o igual que.  >= mayor o igual que.  == igual a. No confundir el uso de = (asignación de valor) y == (comparación)  ~= distinto de (alt gr + 4 para obtener el símbolo ~). El resultado de las comparaciones son 1 si es verdadera o 0 si es falsa. En el caso de comparar matrices la comparación se realiza elemento a elemento (por lo que las matrices a comparar han de ser de igual tamaño) y el resultado es una matriz del mismo tamaño con 0 y 1, con la indicación de si la comparación es verdadera o falsa.
  • 15. Análisis de datos numéricos y experimentales Tema 2. Ideas clave 15 © Universidad Internacional de La Rioja (UNIR) / Universidad Rovira i Virgili (URV) Los operadores lógicos sirven para agrupar y comparar entre sí el resultado de diferentes operadores relacionales. Los operadores lógicos definidos en Matlab son:  & (and) Verdadero si las dos comparaciones son verdaderas.  | (or) Verdadero si una de las dos comparaciones es verdadera.  ~(not) Verdadero si la comparación es falsa. A continuación, vemos algunos ejemplos de aplicación de operadores lógicos: >> a = 5 ; >> b = 8 ; >> (a > 2) & (b == 8 ) ans = 1 >> ~(b == 8 ) ans = 0 >> (a ==4) | (b == 8 ) ans = 1 >> Funciones internas Matlab y sus toolboxes disponen de un elevado número de funciones preparadas para su uso. Se puede acceder a la lista de funciones internas a través de las herramientas de ayuda o haciendo clic sobre el icono fx que aparece en la parte superior izquierda de la ventana de comandos y que nos conducirá directamente a un listado de todas las funciones que tenemos instaladas (ver figura 3). En general, todas las funciones tienen tres componentes: nombre, entrada y salida. Por ejemplo, si se quiere calcular la raíz cuadrada de un número se puede utilizar la función sqrt. Si consultamos cómo se utiliza (help sqrt) vemos que simplemente se ha de escribir el nombre de la función seguido del valor sobre el que actúa entre paréntesis. Muchas de las funciones internas actúan calculando elemento a elemento
  • 16. Análisis de datos numéricos y experimentales Tema 2. Ideas clave 16 © Universidad Internacional de La Rioja (UNIR) / Universidad Rovira i Virgili (URV) en el caso de matrices, aunque siempre es aconsejable consultar la ayuda de la función. >> A=9; >> b=sqrt(A) b = 3 >> Figura 3. Obtención de información sobre las funciones internas disponibles. Gráficos En general, los gráficos son una herramienta necesaria para la correcta interpretación de datos numéricos. En una gráfica es fácil identificar tendencias, máximos o mínimos, elegir intervalos de interés o identificar datos inconsistentes. También nos permite comparar cualitativamente varias series de datos de forma rápida. Matlab ofrece un gran número de tipos de gráficos. Para un mejor seguimiento del curso, las personas que no han trabajado nunca con Matlab han de consultar el capítulo 4 de Matlab Primer, en el que se introducen los conceptos básicos relacionados con los gráficos en este programa.
  • 17. Análisis de datos numéricos y experimentales Tema 2. Ideas clave 17 © Universidad Internacional de La Rioja (UNIR) / Universidad Rovira i Virgili (URV) Antes de crear un gráfico (por ejemplo, utilizando la función plot) es aconsejable crear una nueva ventana de uso exclusivo para el mismo. Esta ventana se crea con la función figure. Otras funciones que se utilizan de forma habitual son:  subplot. Permite crear diferentes gráficos de forma separada en una misma ventana (figura).  hold on. Permite representar en una sola gráfica diferentes series de datos. Se desactiva con hold off.  axis. Controla los valores límite de los ejes de coordenadas representados. 2.5. Scripts al y como ya se ha comentado anteriormente, Matlab ofrece un entorno que permite un trabajo interactivo, pero también es un potente lenguaje de programación. Como tal, es capaz de admitir la creación de ficheros con código, que permitirá la ejecución de forma consecutiva de una serie de comandos y funciones de Matlab. Existen dos tipos diferentes de ficheros de programas en Matlab:  scripts. Programa que no acepta argumentos de entrada o salida de forma directa. Trabaja con las variables del workspace.  functions. Acepta argumentos de entrada o de salida. Las variables con las que trabaja son internas de la función. Las funciones se tratarán en el tema «Programación con Matlab» de esta asignatura. Tanto las funciones como los scripts son ficheros de texto con extensión .m. Para generar un script (o función) se puede utilizar cualquier editor de texto, aunque siempre es recomendable utilizar el editor de Matlab, ya que incluye algunas funcionalidades específicas que facilitan el trabajo de edición y depuración del código. Para abrir el editor es suficiente con seleccionar new/script en la barra de T
  • 18. Análisis de datos numéricos y experimentales Tema 2. Ideas clave 18 © Universidad Internacional de La Rioja (UNIR) / Universidad Rovira i Virgili (URV) herramientas o escribir en la ventana de comando edit me_prog.m. Si el fichero me_pro.m existe lo abrirá para permitir su edición; en caso de que no exista, nos preguntará si deseamos crearlo y abrirá una ventana del editor en blanco. Cuando se invoca un script, Matlab simplemente ejecuta de forma secuencial los comandos que va encontrando en el fichero. Se obtendría el mismo resultado final si se fuera entrando (y ejecutando) en la ventana de comando cada una de las líneas que encontramos en el programa. Aunque los scripts no aceptan argumentos de entrada directamente, sí que pueden trabajar con las variables ya existentes del workspace. De igual forma, aunque no permiten argumentos de salida, los resultados de los cálculos que realiza pueden quedar almacenados en nuevas variables que permanecen el workspace una vez finalizada la ejecución del programa. Por ejemplo, podemos crear la función plotSin.m, que graficará una función periódica: % plotSin.m % Función que calcula los valores de una función % periódica y la representa gráficamente Ini = 0 ; fin = 3*pi ; npun = 100 ; x = linspace(ini,fin,npun) ; y=sin(x); figure ; plot (x,y,'o-r') ; xlabel('angulo (rad)') ylabel ('f(x)') ; Explicación:  Comentarios: nombre de la función y descripción.  Asignación de algunos parámetros: valor inicial, valor final, número de puntos, creación de la variable independiente (x) y cálculo de la variable dependiente (y).
  • 19. Análisis de datos numéricos y experimentales Tema 2. Ideas clave 19 © Universidad Internacional de La Rioja (UNIR) / Universidad Rovira i Virgili (URV)  Creación del gráfico. Al invocar la función plotSin.m desde la línea de comandos aparecerá una nueva ventana con el grafico solicitado (ver figura 4) y en el workspace tendremos nuevas variables creadas a lo largo de la ejecución del programa (ver figura 5). Figura 4. Figura que aparece al ejecutar el programa de ejemplo plotSim.m Figura 5. Vista de la ventana del workspace después de ejecutar el programa de ejemplo plotSim.m.
  • 20. Análisis de datos numéricos y experimentales Tema 2. Ideas clave 20 © Universidad Internacional de La Rioja (UNIR) / Universidad Rovira i Virgili (URV) 2.6. Referencias bibliográficas MathWorks (2018). Matlab Primer. Recuperado de https://es.mathworks.com/help/pdf_doc/matlab/getstart.pdf
  • 21. Análisis de datos numéricos y experimentales Tema 2. A fondo 21 © Universidad Internacional de La Rioja (UNIR) / Universidad Rovira i Virgili (URV) A fondo Tipos de variables en Matlab Información detallada del tipo de variables que pueden utilizarse en Matlab. Podéis acceder a esta información utilizando vuestra cuenta de MathWorks. Accede al recurso a través del aula virtual o desde la siguiente dirección web: https://es.mathworks.com/help/matlab/data-types_data-types.html
  • 22. Análisis de datos numéricos y experimentales Tema 2. Test 22 © Universidad Internacional de La Rioja (UNIR) / Universidad Rovira i Virgili (URV) Test El test se ha de realizar utilizando Matlab. Pueden consultarse las diferentes fuentes de ayuda de este software. Algunas de las preguntas pueden resultar extremadamente fáciles si se busca únicamente la respuesta. Por ejemplo, podemos encontrar preguntas del tipo «¿Cuál es el valor de c si c= (3+4)^3+4?». El objetivo de este cuestionario es que el alumno obtenga las respuestas a partir de instrucciones introducidas en la línea de comandos de Matlab, no realizando el cálculo mentalmente. 1. ¿Cuál es el resultado de esta operación matemática? 3^2*3^2 A. 81. B. 36. C. 216. D. 6. 2. ¿Cuál es el resultado de esta operación lógica? 12<14 A. 1. B. 0. C. 12. D. 14. 3. Si utilizamos esta instrucción plot(x,y,'--r'), la línea que une los puntos de la gráfica será: A. Roja y sólida. B. Roja a puntos. C. Roja con línea-punto. D. Roja con línea discontinua.
  • 23. Análisis de datos numéricos y experimentales Tema 2. Test 23 © Universidad Internacional de La Rioja (UNIR) / Universidad Rovira i Virgili (URV) 4. Dadas las matrices A y B, ¿qué operación de las que se muestran no está permitida en Matlab? A=[1,3; 2,5]; B=[1; 8] A. AB. B. B*A. C. A*B(1). D. A.*B. 5. Si ejecutamos el siguiente código en la ventana de comandos, ¿qué respuesta obtendremos? y = a + b , a = 2 ; b = sqrt(‐4) A. 2 + 2i. B. 2 – 2i. C. Mensaje de error. D. Ninguno de los anteriores. 6. ¿Cuál es el resultado de la siguiente instrucción? clear x y A. Borrar todas las variables del workspace. B. Borrar las variables x y. C. Produce error. D. Sustituye el valor de x por el de y. 7. Indica cómo se denomina la clase de variable que permite que cada elemento de la matriz que forma sea de un tipo diferente: A. Lógica. B. Double. C. Cell. D. Integer.
  • 24. Análisis de datos numéricos y experimentales Tema 2. Test 24 © Universidad Internacional de La Rioja (UNIR) / Universidad Rovira i Virgili (URV) 8. Un conjunto de observaciones toma los valores 4.2, 2.7, 3.1, 5.0 y 3.9. ¿Qué instrucción podemos utilizar para almacenar los datos en un vector columna A? A. A1 = 4.2, A2 = 2.7, A3 = 3.1, A4 = 5.0, A5 = 3.9. B. A = [4.2, 2.7, 3.1, 5.0, 3.9]. C. A = (4.2, 2.7, 3.1, 5.0, 3.9). D. A = [4.2; 2.7; 3.1; 5.0; 3.9]. 9. Indica el resultado de ejecutar los dos comandos siguientes: A = (1:4)’ ; size(A) A. 1 4. B. 4 1. C. 4. D. Error, una de las dos instrucciones es incorrecta. 10. Indica el resultado de ejecutar los dos comandos siguientes: size= (1:4)’ ; size(size) A. 1 4. B. 4 1. C. 4. D. Error, una de las dos instrucciones es incorrecta.