You are on page 1of 219
Tema I Introducción al MatLab Profs. Dres. Sixto Romero Francisco J. Moreno Master en Ingeniería

Tema I Introducción al MatLab

Profs. Dres. Sixto Romero

Francisco J. Moreno

Master en Ingeniería de Control, Sistemas Electrónicos e Informática Industrial

2007-2008

El Asistente Matemático MatLab

El Asistente Matemático MatLab

El Asistente Matemático MatLab
El Asistente Matemático MatLab
Sumario 1.1. Introducción 1.2. El entorno de trabajo de MatLab 1.2.1. El Escritorio de Matlab
Sumario 1.1. Introducción 1.2. El entorno de trabajo de MatLab 1.2.1. El Escritorio de Matlab

Sumario

1.1. Introducción

1.2. El entorno de trabajo de MatLab

1.2.1. El Escritorio de Matlab (Matlab Desktop)

1.2.2. El menú inicio

1.2.3. Command Window

1.2.4. Command History Browser

Sumario 1.2.5. Current Directory Browser 1.2.6. Workspace Browser y Array Editor 1.2.7. El Editor-Debugger 1.3.
Sumario 1.2.5. Current Directory Browser 1.2.6. Workspace Browser y Array Editor 1.2.7. El Editor-Debugger 1.3.

Sumario

1.2.5. Current Directory Browser

1.2.6. Workspace Browser y Array Editor

1.2.7. El Editor-Debugger

1.3. Salvas de estados y variables en una sección (save, load, diary)

Introducción MatLab es un asistente matemático de gran capacidad para el cálculo y la visualización

Introducción

MatLab es un asistente matemático de gran capacidad para el cálculo y la visualización cuyo nombre proviene de las palabras Matrix-Laboratory.

Aunque fue desarrollado inicialmente (1984) para el trabajo exclusivo con matrices también puede trabajar con escalares (reales y complejos) así como con cadenas de caracteres.

Introducción Mat rix- Lab oratory • A l t a c a p a c

Introducción

Matrix- Laboratory

Alta capacidad de cálculo numérico

Visualización

Cálculo simbólico

Lenguaje propio

Matrices

Escalares

Cadenas
Cadenas
Potencialidades 1. Posee un lenguaje de alto desempeño bastante fácil de aprender. 2. Posee una

Potencialidades

1. Posee un lenguaje de alto desempeño bastante fácil de aprender.

2. Posee una elevada interacción con los SoftWare existentes (Maple, Excel).

3. Posibilidad de ser instalado sobre diferentes SO.

4. Alrededor de este SoftWare se nuclea una comunidad de más de 1 000 000 de usuarios

entre esttes y especialistas.

Potencialidades 5. Posee ayudas tanto On-line como Off-line de inmensas prestaciones. 6. Existe un centro

Potencialidades

5. Posee ayudas tanto On-line como Off-line de inmensas prestaciones.

6. Existe un centro de recursos arbitrado que almacena organizadamente la experiencia de múltiples especialistas de todo el mundo.

7. Las librerías han sido exquisitamente validadas y en ocasiones programadas por los propios descubridores (ej. Wavelets Toolbox).

Debilidades 1. Lenguaje interpretado. 2. Aunque es muy rápido en los cálculos utilizando código nativo

Debilidades

1. Lenguaje interpretado.

2. Aunque es muy rápido en los cálculos utilizando código nativo en otros cálculos pudiera ser bastante más lento que utilizando código C++ u otro.

3. Aunque posee herramientas para la exportación de código, estas no son del todo eficiente (MatLab Compiler, MatLab ComBuilder).

El desktop de MatLab

El desktop de MatLab

El desktop de MatLab
El desktop de MatLab
El desktop de MatLab
El desktop de MatLab Men Men ú ú principal principal

El desktop de MatLab

El desktop de MatLab Men Men ú ú principal principal
El desktop de MatLab Men Men ú ú principal principal
El desktop de MatLab Men Men ú ú principal principal

MenMenúú principalprincipal

El desktop de MatLab Men Men ú ú principal principal
El desktop de MatLab Men Men ú ú de de acceso acceso r r á

El desktop de MatLab

El desktop de MatLab Men Men ú ú de de acceso acceso r r á á
El desktop de MatLab Men Men ú ú de de acceso acceso r r á á
El desktop de MatLab Men Men ú ú de de acceso acceso r r á á

MenMenúú dede accesoacceso rráápidopido

El desktop de MatLab Ventana Ventana de de comandos comandos

El desktop de MatLab

VentanaVentana dede comandoscomandos

El desktop de MatLab Ventana Ventana de de comandos comandos
El desktop de MatLab Ventana Ventana de de comandos comandos
El desktop de MatLab Espacio Espacio y y directorio directorio de de trabajo trabajo

El desktop de MatLab

El desktop de MatLab Espacio Espacio y y directorio directorio de de trabajo trabajo
El desktop de MatLab Espacio Espacio y y directorio directorio de de trabajo trabajo

EspacioEspacio yy directoriodirectorio dede trabajotrabajo

El desktop de MatLab Historial Historial de de trabajo trabajo

El desktop de MatLab

El desktop de MatLab Historial Historial de de trabajo trabajo
El desktop de MatLab Historial Historial de de trabajo trabajo

HistorialHistorial dede trabajotrabajo

El desktop de MatLab Historial Historial de de trabajo trabajo
El desktop de MatLab Novedad de la v_7.0 Barra de Shortcuts

El desktop de MatLab

El desktop de MatLab Novedad de la v_7.0 Barra de Shortcuts
El desktop de MatLab Novedad de la v_7.0 Barra de Shortcuts
El desktop de MatLab Novedad de la v_7.0 Barra de Shortcuts

Novedad de la v_7.0

Barra de Shortcuts

El desktop de MatLab Men Men ú ú de de inicio inicio

El desktop de MatLab

El desktop de MatLab Men Men ú ú de de inicio inicio

MenMenúú dede inicioinicio

Menú de inicio

Menú de inicio

Menú de inicio
Menú de inicio
Menú de inicio
Menú de acceso rápido

Menú de acceso rápido

Menú de acceso rápido
Barra de Shortcuts

Barra de Shortcuts

Barra de Shortcuts
Barra de Shortcuts
Barra de Shortcuts
Barra de Shortcuts
Barra de Shortcuts
Barra de Shortcuts
Creación de Shortcuts (ejemplo)

Creación de Shortcuts (ejemplo)

Creación de Shortcuts (ejemplo)
La ventana de comandos Definir “variables” Ejecutar instrucciones Mostrar resultados Llamada a guiones

La ventana de comandos

La ventana de comandos Definir “variables” Ejecutar instrucciones Mostrar resultados Llamada a guiones
La ventana de comandos Definir “variables” Ejecutar instrucciones Mostrar resultados Llamada a guiones
La ventana de comandos Definir “variables” Ejecutar instrucciones Mostrar resultados Llamada a guiones

Definir “variables” Ejecutar instrucciones Mostrar resultados Llamada a guiones

Llamada a funciones

Historial de comandos

Historial de comandos

Historial de comandos
Directorio actual de trabajo

Directorio actual de trabajo

Directorio actual de trabajo
El espacio de trabajo Identificadores Valores Tipo de dato

El espacio de trabajo

El espacio de trabajo Identificadores Valores Tipo de dato

Identificadores

Valores

Tipo de dato

Editor de arreglos

Editor de arreglos

Editor de arreglos
El editor-debugger

El editor-debugger

El editor-debugger
La ayuda de MatLab

La ayuda de MatLab

La ayuda de MatLab
La ayuda de MatLab
La ayuda de MatLab
Demos de MatLab

Demos de MatLab

Demos de MatLab
Ayuda y recursos “on-line”

Ayuda y recursos “on-line”

Ayuda y recursos “on-line”
Ayuda y recursos “on-line”

Ayuda y recursos “on-line”

Ayuda y recursos “on-line”
Ayuda y recursos “on-line”

Ayuda y recursos “on-line”

Ayuda y recursos “on-line”
Recursos de dificil acceso

Recursos de dificil acceso

Recursos de dificil acceso
Salvas de estados y variables Comando “ save ” Se emplea para guardar en disco

Salvas de estados y variables

Comando “save

Se emplea para guardar en disco el espacio de trabajo o variables particulares que existan en este.

Sintaxis:

save(‘filename’, ‘var-1’,

, ‘var-n’, formato);

Salvas de estados y variables Comando “ load ” Permite cargar variables existentes en un

Salvas de estados y variables

Comando “load

Permite cargar variables existentes en un fichero en el espacio de trabajo.

Sintaxis:

load(‘filename’, ‘var-1’,

, ‘var-n’);

Salvas de estados y variables Comando “ diary ” Este comando posibilita guardar un record

Salvas de estados y variables

Comando “diary

Este comando posibilita guardar un record completo de todas las acciones realizadas en la ventana de comandos.

Sintaxis:

diary on; diary off;

%Activado

%Desactivado

Tiempo y esfuerzo de cálculo En MatLab está abierta la posibilidad de obtener los tiempos

Tiempo y esfuerzo de cálculo

En MatLab está abierta la posibilidad de obtener los tiempos de cálculo de una forma muy sencilla para el usuario, siendo esto en muchas ocasiones de suma importancia.

Para este fin se emplean las funciones:

cputime; etime y tic ops toc

Tiempo de cálculo (ejemplo)
Tiempo de cálculo (ejemplo)

Se desea resolver un sistema lineal arbitrario con 1000 Ecs. de la forma:

Ax=b x=A -1 b = A\b

>> n=1000; >> A=rand(n); >> b=rand(n,1); >> x=zeros(n,1); >> tiempoIni=clock; x=A\b; tiempo=etime(clock, tiempoIni) >> time=cputime; x=A\b; time=cputime-time >> tic; x=A\b; toc

Bibliografía 1. Aprenda Matlab 7.0 como si estuviera en primero 2. La ayuda de Matlab

Bibliografía

1. Aprenda Matlab 7.0 como si estuviera en primero

2. La ayuda de Matlab 7.0

3. Ver en la sección “demos” de la ayuda de Matlab:

Desktop Tools and Development Environment” (primeros 5 videos)

New Features in Version 7(primer video)

Desktop Tools and Development Environment ” (primeros 5 videos) • “ New Features in Version 7
Desktop Tools and Development Environment ” (primeros 5 videos) • “ New Features in Version 7
Tema II Operaciones con vectores y matrices Profs. Dres. Sixto Romero Francisco J. Moreno Master

Tema II Operaciones con vectores y matrices

Profs. Dres. Sixto Romero

Francisco J. Moreno

Master en Ingeniería de Control, Sistemas Electrónicos e Informática Industrial

2007-2008

Sumario 2.1. Definición de matrices desde el teclado 2.2. Operaciones con matrices 2.3. Matrices predefinidas

Sumario

2.1. Definición de matrices desde el teclado

2.2. Operaciones con matrices

2.3. Matrices predefinidas

2.4. Direccionamiento de matrices y vectores. El operador (:) y la función (cat)

2.5. Operadores relacionales

2.6. Operadores lógicos

Definición de matrices Las matrices son un tipo común de variable que es empleado en

Definición de matrices

Las matrices son un tipo común de variable que es empleado en la mayoría de los lenguajes de programación. En MatLab estas se convierten en el centro de atención.

Por convenio emplearemos mayúscula para representar matrices y minúscula para vectores y escalares.

Definición de matrices Las matrices se definen por filas, los elementos de la fila se

Definición de matrices

Las matrices se definen por filas, los elementos de la fila se separan por espacios o comas (,) mientras que las filas van separadas por punto y coma (;)

Ejemplos:

A=[1,2,3; 4,5,6; 7,8,9] B=[1 2 3; 4 5 6; 7 8 9]

Se ve en pantalla:

filas van separadas por punto y coma ( ; ) Ejemplos: A=[1,2,3; 4,5,6; 7,8,9] B=[1 2
Definición de matrices Observación 1 Los vectores son casos particulares de matrices donde el número

Definición de matrices

Observación 1 Los vectores son casos particulares de matrices donde el número de filas o columnas es igual a 1.

Ejemplos:

Vector fila

Vector columna

de matrices donde el número de filas o columnas es igual a 1. Ejemplos: V e
de matrices donde el número de filas o columnas es igual a 1. Ejemplos: V e
Definición de matrices Observación 2 Una vez definida la matriz esta pasa a su espacio

Definición de matrices

Observación 2 Una vez definida la matriz esta pasa a su espacio de trabajo (Workspace) y estará disponible para realizarce cualquier operación.

Ejemplo:

matriz esta pasa a su espacio de trabajo (Workspace) y estará disponible para realizarce cualquier operación.
Definición de matrices Observación 3 MatLab introduce por defecto una variable llamada ( ans )

Definición de matrices

Observación 3 MatLab introduce por defecto una variable llamada (ans) de “answer” sobre la cual también se puede operar.

Ejemplo:

introduce por defecto una variable llamada ( ans ) de “answer” sobre la cual también se
introduce por defecto una variable llamada ( ans ) de “answer” sobre la cual también se
Definición de matrices Observación 4 En MatLab se permite la creación de matrices vacías. Ejemplo:

Definición de matrices

Observación 4 En MatLab se permite la creación de matrices vacías.

Ejemplo:

Definición de matrices Observación 4 En MatLab se permite la creación de matrices vacías. Ejemplo:
¿Cómo acceder a los valores? Los elementos de una matriz se acceden poniendo los 2

¿Cómo acceder a los valores?

Los elementos de una matriz se acceden poniendo los 2 índices entre paréntesis separados por coma (Ej. A(1,2) o A(i,j)).

Ejemplo:

una matriz se acceden poniendo los 2 índices entre paréntesis separados por coma (Ej. A(1,2) o
una matriz se acceden poniendo los 2 índices entre paréntesis separados por coma (Ej. A(1,2) o
una matriz se acceden poniendo los 2 índices entre paréntesis separados por coma (Ej. A(1,2) o
¿Cómo acceder a los valores? Observación 1 Si estamos trabajando con vectores bastaría colocar un

¿Cómo acceder a los valores?

Observación 1 Si estamos trabajando con vectores bastaría colocar un solo índice.

Ejemplo:

acceder a los valores? Observación 1 Si estamos trabajando con vectores bastaría colocar un solo índice.
acceder a los valores? Observación 1 Si estamos trabajando con vectores bastaría colocar un solo índice.
acceder a los valores? Observación 1 Si estamos trabajando con vectores bastaría colocar un solo índice.
¿Cómo acceder a los valores? Observación 2 Aunque las matrices se introducen por filas estas

¿Cómo acceder a los valores?

Observación 2 Aunque las matrices se introducen por filas estas se almacenan por columnas, luego se podría acceder a sus elementos empleando un solo índice.

Ejemplo:

por filas estas se almacenan por columnas, luego se podría acceder a sus elementos empleando un
Operaciones con matrices Las matrices se operan a través de operadores o funciones. Veamos ahora

Operaciones con matrices

Las matrices se operan a través de operadores o funciones. Veamos ahora los operadores.

+

Adición

-

Substracción

*

Multiplicación

Traspuesta

^

Potencia

/

\

.* y .^

./ y .\

División (derecha)

División (izquierda)

Mult. y Potenciación elemento a elemento

Div. (derecha y izquierda) elemento a elemento

Operaciones con matrices Ejemplo 1:

Operaciones con matrices

Ejemplo 1:

Operaciones con matrices Ejemplo 1:
Operaciones con matrices Ejemplo 1:
Operaciones con matrices Ejemplo 1:
Operaciones con matrices Ejemplo 1:
Operaciones con matrices Ejemplo 2:

Operaciones con matrices

Ejemplo 2:

Operaciones con matrices Ejemplo 2:
Operaciones con matrices Ejemplo 2:
Matrices predefinidas eye(n) Matriz unitaria ( n x n ) zeros(n) Matriz de ceros (

Matrices predefinidas

eye(n)

Matriz unitaria (n x n)

zeros(n)

Matriz de ceros (n x n)

zeros(n,m)

Matriz de ceros (n x m)

ones(n)

Matriz de unos (n x n)

ones(n,m)

Matriz de unos (n x m)

rand(n)

Matriz de números aleatorios entre 0 y 1 (n x n)

rand(n,m)

Matriz de números aleatorios entre 0 y 1 (n x m)

linspace

Genera un vector con n valores entre x1 y x2 igualmente espaciados

(x1,x2,n)

magic(n)

Genera una matriz mágica (n x n)

Operaciones con matrices Ejemplos:

Operaciones con matrices

Ejemplos:

Operaciones con matrices Ejemplos:
Operaciones con matrices Ejemplos:
Operaciones con matrices Ejemplos:
Operaciones con matrices Ejemplos:

Operaciones con matrices

Ejemplos:

Operaciones con matrices Ejemplos:
Operaciones con matrices Ejemplos:
Operaciones con matrices Ejemplos:
Direccionamiento de matrices Los elementos de una matriz pueden ser direccionados a partir de otros

Direccionamiento de matrices

Los elementos de una matriz pueden ser direccionados a partir de otros vectores.

Ejemplo:

Direccionamiento de matrices Los elementos de una matriz pueden ser direccionados a partir de otros vectores.
Direccionamiento de matrices Los elementos de una matriz pueden ser direccionados a partir de otros vectores.
Direccionamiento de matrices Los elementos de una matriz pueden ser direccionados a partir de otros vectores.
Direccionamiento de matrices Observación 1 En el caso en que trabajásemos con vectores estos se

Direccionamiento de matrices

Observación 1 En el caso en que trabajásemos con vectores estos se direccionarían mediante otro vector de posiciones.

Ejemplo:

1 En el caso en que trabajásemos con vectores estos se direccionarían mediante otro vector de
Direccionamiento de matrices Observación 2 Como los elementos de una matriz se almacenan como columnas

Direccionamiento de matrices

Observación 2

Como los elementos de una matriz se almacenan como columnas podemos emplear esta característica para direccionarlas a través de un vector.

Direccionamiento de matrices Ejemplo:

Direccionamiento de matrices

Ejemplo:

Direccionamiento de matrices Ejemplo:
Direccionamiento de matrices Ejemplo:
El operador ( : ) El operador ( : ) es utilizado para especificar rangos

El operador (:)

El operador (:) es utilizado para especificar rangos, su forma de empleo es muy simple y sus beneficios inmensos.

Forma de empleo:

<vector>=[val_ini : paso : val_fin];

Ejemplo:

de empleo es muy simple y sus beneficios inmensos. Forma de empleo: <vector>=[val_ini : paso :
El operador ( : ) El operador ( : ) se muestra mucho más potente

El operador (:)

El operador (:) se muestra mucho más potente cuando se trabaja con matrices.

El operador ( : ) El operador ( : ) se muestra mucho más potente cuando
El operador ( : ) El operador ( : ) se muestra mucho más potente cuando
El operador ( : ) Extracción de submatrices.

El operador (:)

Extracción de submatrices.

El operador ( : ) Extracción de submatrices.
El operador ( : ) Extracción de submatrices.
El operador ( : ) Extracción de una columna.

El operador (:)

Extracción de una columna.

El operador ( : ) Extracción de una columna.
El operador ( : ) Extracción de una fila (última).

El operador (:)

Extracción de una fila (última).

El operador ( : ) Extracción de una fila (última).
El operador ( : ) Eliminación de una columna.

El operador (:)

Eliminación de una columna.

El operador ( : ) Eliminación de una columna.
Nota El operador ( : ) Es prudente que se ejercite el trabajo en este

Nota

El operador (:)

Es prudente que se ejercite el trabajo en este operador probando todas las combinaciones posibles dada su importancia para el trabajo posterior.

La función ( cat ) La función ( cat ) se emplea para concatenar matrices

La función (cat)

La función (cat) se emplea para concatenar matrices a lo largo de una dimensión especificada.

Al igual que el operador (:) es de una gran utilidad cuando se trabaja con matrices.

La función ( cat ) Ejemplo:

La función (cat)

Ejemplo:

La función ( cat ) Ejemplo:
La función ( cat ) Ejemplo:
Operadores relacionales < Menor que <= Menor o igual a > Mayor que >= Mayor

Operadores relacionales

<

Menor que

<=

Menor o igual a

>

Mayor que

>=

Mayor o igual a

==

Igual a

~=

Distinto de

Operadores lógicos && Conjunción || Disyunción ~ Negación xor Disyunción exclusiva

Operadores lógicos

&&

Conjunción

||

Disyunción

~

Negación

xor

Disyunción exclusiva

Operadores lógicos all(v) Comprueba si todos los elementos del vector ( v ) cumplen la

Operadores lógicos

all(v)

Comprueba si todos los elementos del vector (v) cumplen la condición. Devuelve 0 o 1

all(A)

Se aplica por separado a cada columna de (A). El resultado es un vector de ceros y unos.

any(v)

Comprueba si alguno de los elementos del vector (v) cumplen la condición. Devuelve 0 o 1

any(A)

Se aplica por separado a cada columna de (A). El resultado es un vector de ceros y unos.

find(v)

Determina los índices de elementos de (v) que cumplen la condición.

find(A)

Cuando se aplica a una matriz esta se considera como un vector (una columna traz otra)

Tema III Gráficas con MatLab Profs. Dres. Sixto Romero Francisco J. Moreno Master en Ingeniería
Tema III Gráficas con MatLab Profs. Dres. Sixto Romero Francisco J. Moreno Master en Ingeniería

Tema III Gráficas con MatLab

Tema III Gráficas con MatLab Profs. Dres. Sixto Romero Francisco J. Moreno Master en Ingeniería de
Tema III Gráficas con MatLab Profs. Dres. Sixto Romero Francisco J. Moreno Master en Ingeniería de

Profs. Dres. Sixto Romero

Francisco J. Moreno

Master en Ingeniería de Control, Sistemas Electrónicos e Informática Industrial

2007-2008

Sumario 3.1. Gráficas en 2D 3.1.1. Introducción. Representación gráfica con datos 3.1.2. Curvas en explícitas,

Sumario

3.1. Gráficas en 2D

Sumario 3.1. Gráficas en 2D 3.1.1. Introducción. Representación gráfica con datos 3.1.2. Curvas en explícitas,

3.1.1. Introducción. Representación gráfica con datos

3.1.2. Curvas en explícitas, paramétricas y polares:

Función plot

3.1.3. Estilos de línea y marcadores en la función plot

3.1.4. Añadir curvas a un gráfico ya existente

3.1.5. Comando subplot

3.1.6. Función fplot

Sumario 3.2. Gráficas en 3D 3.2.1. Dibujo de líneas: función plot3 3.2.2. Mallados: Funciones meshgrid

Sumario

3.2. Gráficas en 3D

Sumario 3.2. Gráficas en 3D 3.2.1. Dibujo de líneas: función plot3 3.2.2. Mallados: Funciones meshgrid ,

3.2.1. Dibujo de líneas: función plot3

3.2.2. Mallados: Funciones meshgrid, mesh y surf

3.2.3. Líneas de contorno: funciones contour y contour3

3.1. Gráficas en 2D 3.1.1. Introducción • MatLab proporciona una variedad importante de funciones para

3.1. Gráficas en 2D

3.1.1. Introducción

3.1. Gráficas en 2D 3.1.1. Introducción • MatLab proporciona una variedad importante de funciones para representar

MatLab proporciona una variedad importante de funciones para representar gráficamente datos vectoriales tanto en 2D como en 3D.

Adicionalmente pone a disposición de usuario otro grupo de funciones para la manipulación e impresión de los gráficos creados.

3.1. Gráficas en 2D • MatLab permite graficas de curvas planas y superficies, posibilitando la

3.1. Gráficas en 2D

3.1. Gráficas en 2D • MatLab permite graficas de curvas planas y superficies, posibilitando la agrupación

MatLab permite graficas de curvas

planas y superficies, posibilitando la agrupación y la superposición.

Permite trabajar con colores, rejillas, marcos, etc., en los gráficos.

MatLab es un software matemático con elevadas prestaciones gráficas.

3.1. Gráficas en 2D • MatLab permite realizar gráficos de barras, líneas, estrellas, histogramas, poliedros,

3.1. Gráficas en 2D

3.1. Gráficas en 2D • MatLab permite realizar gráficos de barras, líneas, estrellas, histogramas, poliedros, mapas

MatLab permite realizar gráficos de barras, líneas, estrellas, histogramas, poliedros, mapas geográficos y animaciones.

3.1. Gráficas en 2D 3.1.1. Representación gráfica con datos: La creación de un gráfico suele

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.1. Representación gráfica con datos: La creación de un gráfico suele acoplarse

3.1.1. Representación gráfica con datos: La creación de un gráfico suele acoplarse a los siguientes pasos

Preparar los datos

x = 0:0.02:10; y1=x ;y2=x.^2;y3=x.^3;

Elegir ventana y situar posición

figure(1); subplot(2,2,1)

Usar función de gráfico

h=plot(x,y1,x,y2,x,y3);

Sitúa las propiedades especificadas en el objeto ‘h’

set(h,’LineWidth’,2,{‘LineStyle’};set(h,’{Color’},{‘r’,’g’,’b’})

Elegir características de líneas y marcadores

Situar anotaciones. Etiquetas y leyendas

xLabel(‘Tiempo’) yLabel(’Amplitud’) legend(h,’Primero’,’Segundo’,’Tercero’) Title(‘Funciones Enteras’)

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: barras, sectores, histogramas, racimo, flechas,etc., bar(Y) Gráfico

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: barras, sectores, histogramas, racimo, flechas,etc., bar(Y) Gráfico

3.1.1. Gráficos básicos: barras, sectores, histogramas, racimo, flechas,etc.,

bar(Y)

Gráfico de barras verticales relativo al vector de frecuencia Y. Si Y es una matriz se obtiene el gráfico de barras múltiple para cada fila de Y

barh(…)

Gráfico de barras horizontales

pie(Y)

Gráfico de pastel o sectores relativo al vector X

stairs(Y)

Gráfico escalonado relativo al vector Y

hist(Y)

Dibuja el histograma relativo al vector de frecuencias Y. Si Y es una matriz, se construye un histograma para cada una de sus columnas.

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: barras, sectores, etc., hist(Y,x) Dibuja e histograma relativo

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: barras, sectores, etc., hist(Y,x) Dibuja e histograma relativo al

3.1.1. Gráficos básicos: barras, sectores, etc.,

hist(Y,x)

Dibuja e histograma relativo al vector de frecuencias Y usando tantas cajas como elementos tiene el vector “x”

stem(Y)

Dibuja el gráfico de racimo relativo al vector Y. Cada punto de Y está unido al eje OX por una línea vertical

rose(Y)

Dibuja el histograma angular relativo al vector Y, de ángulos en radianes.

compass(Z)

Dibuja un diagrama de flechas que salen del origen y cuya magnitud y dirección vienen determinadas por el módulo y el argumento de los números complejos componentes de Z

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: BARRAS 1 0. 9 0. 8 0. 7

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: BARRAS 1 0. 9 0. 8 0. 7 0.

3.1.1. Gráficos básicos: BARRAS

1 0. 9 0. 8 0. 7 0. 6 0. 5 0. 4 0. 3
1
0.
9
0.
8
0.
7
0.
6
0.
5
0.
4
0.
3
0.
2
0.
1
0
-4
-3
-2
-1
0
1
2
3
4

>> x=-3:0.2:3; >> bar(x,exp(-x.^2))

0. 5 0. 4 0. 3 0. 2 0. 1 0 -4 -3 -2 -1 0
3.1. Gráficas en 2D 3.1.1. Gráficos básicos: BARRAS 4 3 2 1 0 -1 -2

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: BARRAS 4 3 2 1 0 -1 -2 -3

3.1.1. Gráficos básicos: BARRAS

4 3 2 1 0 -1 -2 -3 -4 0 0. 1 0. 2 0.
4
3
2
1
0
-1
-2
-3
-4
0
0. 1
0. 2
0. 3
0. 4
0. 5
0. 6
0. 7
0. 8
0. 9
1

>> x=-3:0.2:3; >> barh(x,exp(-x.^2))

-3 -4 0 0. 1 0. 2 0. 3 0. 4 0. 5 0. 6 0.
3.1. Gráficas en 2D 3.1.1. Gráficos básicos: BARRAS >> Y=round(rand(5,3)*250); >> bar(Y’,group’)

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: BARRAS >> Y=round(rand(5,3)*250); >> bar(Y’,group’)

3.1.1. Gráficos básicos: BARRAS

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: BARRAS >> Y=round(rand(5,3)*250); >> bar(Y’,group’)

>>Y=round(rand(5,3)*250);

>> bar(Y’,group’) >> bar(Y’,’stack’)

básicos: BARRAS >> Y=round(rand(5,3)*250); >> bar(Y’,group’) >> bar(Y’,’stack’)
3.1. Gráficas en 2D 3.1.1. Gráficos básicos: SECTORES-PASTEL >> x=[12 23 1.5 5.5 67 89];

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: SECTORES-PASTEL >> x=[12 23 1.5 5.5 67 89]; >>

3.1.1. Gráficos básicos: SECTORES-PASTEL

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: SECTORES-PASTEL >> x=[12 23 1.5 5.5 67 89]; >>

>> x=[12 23 1.5 5.5 67 89]; >> pie(x)

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: SECTORES-PASTEL >> x=[12 23 1.5 5.5 67 89]; >>
3.1. Gráficas en 2D 3.1.1. Gráficos básicos: SECTORES-PASTEL >> x=[12, 56, 4, 5.5, 67]; >>

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: SECTORES-PASTEL >> x=[12, 56, 4, 5.5, 67]; >> y=[0

3.1.1. Gráficos básicos: SECTORES-PASTEL

Gráficas en 2D 3.1.1. Gráficos básicos: SECTORES-PASTEL >> x=[12, 56, 4, 5.5, 67]; >> y=[0 0

>> x=[12, 56, 4, 5.5, 67]; >> y=[0 0 0 1 1]; >> pie(x,y)

Gráficos básicos: SECTORES-PASTEL >> x=[12, 56, 4, 5.5, 67]; >> y=[0 0 0 1 1]; >>
3.1. Gráficas en 2D 3.1.1. Gráficos básicos: ESCALONADO >> x=-10:0.1:10; >> stairs(x,exp(-x.^2))

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: ESCALONADO >> x=-10:0.1:10; >> stairs(x,exp(-x.^2))

3.1.1. Gráficos básicos: ESCALONADO

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: ESCALONADO >> x=-10:0.1:10; >> stairs(x,exp(-x.^2))

>> x=-10:0.1:10; >> stairs(x,exp(-x.^2))

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: ESCALONADO >> x=-10:0.1:10; >> stairs(x,exp(-x.^2))
3.1. Gráficas en 2D 3.1.1. Gráficos básicos: ESCALONADO >> x=-10:0.4:10; >> stairs(x,exp(-x.^2))

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: ESCALONADO >> x=-10:0.4:10; >> stairs(x,exp(-x.^2))

3.1.1. Gráficos básicos: ESCALONADO

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: ESCALONADO >> x=-10:0.4:10; >> stairs(x,exp(-x.^2))

>> x=-10:0.4:10; >> stairs(x,exp(-x.^2))

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: ESCALONADO >> x=-10:0.4:10; >> stairs(x,exp(-x.^2))
3.1. Gráficas en 2D 3.1.1. Gráficos básicos: HISTOGRAMA >> y=rand(1000,1)*2199; >> hist(y)

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: HISTOGRAMA >> y=rand(1000,1)*2199; >> hist(y)

3.1.1. Gráficos básicos: HISTOGRAMA

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: HISTOGRAMA >> y=rand(1000,1)*2199; >> hist(y)

>> y=rand(1000,1)*2199; >> hist(y)

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: HISTOGRAMA >> y=rand(1000,1)*2199; >> hist(y)
3.1. Gráficas en 2D 3.1.1. Gráficos básicos: HISTOGRAMA >> y=randn(1000,1)*2199; >> hist(y)

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: HISTOGRAMA >> y=randn(1000,1)*2199; >> hist(y)

3.1.1. Gráficos básicos: HISTOGRAMA

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: HISTOGRAMA >> y=randn(1000,1)*2199; >> hist(y)

>> y=randn(1000,1)*2199; >> hist(y)

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: HISTOGRAMA >> y=randn(1000,1)*2199; >> hist(y)
3.1. Gráficas en 2D 3.1.1. Gráficos básicos: HISTOGRAMA >> y=randn(1000,1)*2199; >> hist(y,10)

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: HISTOGRAMA >> y=randn(1000,1)*2199; >> hist(y,10)

3.1.1. Gráficos básicos: HISTOGRAMA

>> y=randn(1000,1)*2199; >> hist(y,10)

>> y=randn(1000,1)*2199; >> hist(y,10) >> y=randn(1000,1)*2199; >> hist(y,20)

>> y=randn(1000,1)*2199; >> hist(y,20)

>> y=randn(1000,1)*2199; >> hist(y,10) >> y=randn(1000,1)*2199; >> hist(y,20)
3.1. Gráficas en 2D 3.1.1. Gráficos básicos: RACIMO >> y=randn(20,2); >> stem(y);

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: RACIMO >> y=randn(20,2); >> stem(y);

3.1.1. Gráficos básicos: RACIMO

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: RACIMO >> y=randn(20,2); >> stem(y);

>> y=randn(20,2); >> stem(y);

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: HISTOGRAMA ANGULAR >> y=randn(1000,1)*pi; >> rose(y));

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: HISTOGRAMA ANGULAR >> y=randn(1000,1)*pi; >> rose(y));

3.1.1. Gráficos básicos: HISTOGRAMA ANGULAR

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: HISTOGRAMA ANGULAR >> y=randn(1000,1)*pi; >> rose(y));

>>y=randn(1000,1)*pi;

>> rose(y));

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: FLECHA >> z=eig(rand(4,4)); >> figure, compass(z)

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: FLECHA >> z=eig(rand(4,4)); >> figure, compass(z)

3.1.1. Gráficos básicos: FLECHA

3.1. Gráficas en 2D 3.1.1. Gráficos básicos: FLECHA >> z=eig(rand(4,4)); >> figure, compass(z)

>> z=eig(rand(4,4)); >> figure, compass(z)

3.1. Gráficas en 2D 3.1.2. Curvas en explícitas, paramétricas y polares: Funciones más empleadas en

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.2. Curvas en explícitas, paramétricas y polares: Funciones más empleadas en la

3.1.2. Curvas en explícitas, paramétricas y polares: Funciones más empleadas en la representación de datos

plot(X,Y)

Dibuja el conjunto de puntos (X,Y), donde X e Y son vectores filas.

loglog(X,Y)

Crea gráfico con escala logaritmica en ambos ejes

semilogx(X,Y)

Crea gráfico con escala logaritmica en el eje

X

y lineal en el eje Y

semilogy(X,Y)

Crea gráfico con escala logaritmica en el eje

Y

y lineal en el eje X

3.1. Gráficas en 2D 3.1.2. Funciones plot(x,y) >> x=[0,1,2,3,4,5]; >> y=[0,1,4,9,16,25]; >>

3.1. Gráficas en 2D

3.1.2. Funciones plot(x,y)

3.1. Gráficas en 2D 3.1.2. Funciones plot(x,y) >> x=[0,1,2,3,4,5]; >> y=[0,1,4,9,16,25]; >>
3.1. Gráficas en 2D 3.1.2. Funciones plot(x,y) >> x=[0,1,2,3,4,5]; >> y=[0,1,4,9,16,25]; >>

>> x=[0,1,2,3,4,5]; >> y=[0,1,4,9,16,25]; >> plot(x,y)

3.1. Gráficas en 2D 3.1.2. Funciones plot(x,y) >> x=0:0.07:20; >> y=sin(x+9).*exp(-0.7*x); >>

3.1. Gráficas en 2D

3.1.2. Funciones plot(x,y)

3.1. Gráficas en 2D 3.1.2. Funciones plot(x,y) >> x=0:0.07:20; >> y=sin(x+9).*exp(-0.7*x); >>
3.1. Gráficas en 2D 3.1.2. Funciones plot(x,y) >> x=0:0.07:20; >> y=sin(x+9).*exp(-0.7*x); >>

>> x=0:0.07:20; >> y=sin(x+9).*exp(-0.7*x); >> plot(x,y)

3.1. Gráficas en 2D 3.1.2. Funciones plot(x,y)

3.1. Gráficas en 2D

3.1.2. Funciones plot(x,y)

3.1. Gráficas en 2D 3.1.2. Funciones plot(x,y)
3.1. Gráficas en 2D 3.1.2. Funciones plot(x,y)
3.1. Gráficas en 2D 3.1.2. Funciones semilogx(x,y) >> x=1:0.01:100; >> y=sin(x); >>

3.1. Gráficas en 2D

3.1.2. Funciones semilogx(x,y)

3.1. Gráficas en 2D 3.1.2. Funciones semilogx(x,y) >> x=1:0.01:100; >> y=sin(x); >>
3.1. Gráficas en 2D 3.1.2. Funciones semilogx(x,y) >> x=1:0.01:100; >> y=sin(x); >>

>> x=1:0.01:100; >> y=sin(x); >> semilogx(x,y)

en 2D 3.1.2. Funciones semilogx(x,y) >> x=1:0.01:100; >> y=sin(x); >> semilogx(x,y)
3.1. Gráficas en 2D 3.1.2. Funciones semilogy(x,y) >> x=1:0.01:100; >> y=sin(x); >>

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.2. Funciones semilogy(x,y) >> x=1:0.01:100; >> y=sin(x); >>

3.1.2. Funciones semilogy(x,y)

3.1. Gráficas en 2D 3.1.2. Funciones semilogy(x,y) >> x=1:0.01:100; >> y=sin(x); >>

>> x=1:0.01:100; >> y=sin(x); >> semilogy(x,y) Warning: Negative data ignored.

3.1. Gráficas en 2D 3.1.2. Funciones en paramétricas >> t=0:0.01:2*pi; >> x=4*cos(t)-cos(4*t)

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.2. Funciones en paramétricas >> t=0:0.01:2*pi; >> x=4*cos(t)-cos(4*t)

3.1.2. Funciones en paramétricas

3.1. Gráficas en 2D 3.1.2. Funciones en paramétricas >> t=0:0.01:2*pi; >> x=4*cos(t)-cos(4*t)

>> t=0:0.01:2*pi; >> x=4*cos(t)-cos(4*t) >> y=4*sin(t)-sin(4*t); >> plot(x,y)

3.1. Gráficas en 2D 3.1.2. Funciones en polares >> t=0:0.001:2*pi; >> r=sin(2*t).*cos(2*t);

3.1. Gráficas en 2D

3.1.2. Funciones en polares

3.1. Gráficas en 2D 3.1.2. Funciones en polares >> t=0:0.001:2*pi; >> r=sin(2*t).*cos(2*t);
3.1. Gráficas en 2D 3.1.2. Funciones en polares >> t=0:0.001:2*pi; >> r=sin(2*t).*cos(2*t);

>> t=0:0.001:2*pi; >> r=sin(2*t).*cos(2*t); >> polar(t,r)

en 2D 3.1.2. Funciones en polares >> t=0:0.001:2*pi; >> r=sin(2*t).*cos(2*t); >> polar(t,r)
3.1. Gráficas en 2D 3.1.2. ¿Cómo añadir información al gráfico? title(´título´) Agrega untítulo al dibujo

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.2. ¿Cómo añadir información al gráfico? title(´título´) Agrega untítulo al dibujo

3.1.2. ¿Cómo añadir información al gráfico?

title(´título´)

Agrega untítulo al dibujo

xlabel(´

´)

Agrega un título al eje ´X´. xlabel off lo elimina

ylabel(´

´)

Agrega un título al eje ´Y´. ylabel off lo elimina

legend()

Define rótulos para las líneas

grid

Activa la cuadrícula en el dibujo

3.1. Gráficas en 2D 3.1.2. Añadir información en Funciones en implícitas >> x=-2*pi:0.1:2*pi; >>

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.2. Añadir información en Funciones en implícitas >> x=-2*pi:0.1:2*pi; >>

3.1.2. Añadir información en Funciones en implícitas

2D 3.1.2. Añadir información en Funciones en implícitas >> x=-2*pi:0.1:2*pi; >>

>> x=-2*pi:0.1:2*pi; >> ezplot('x^2-y^4')

Añadir información en Funciones en implícitas >> x=-2*pi:0.1:2*pi; >> ezplot('x^2-y^4')
3.1. Gráficas en 2D 3.1.2. Añadir información desde el entorno de trabajo: Command Window >>

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.2. Añadir información desde el entorno de trabajo: Command Window >> x=0:0.002:2*pi;

3.1.2. Añadir información desde el entorno de trabajo: Command Window

información desde el entorno de trabajo: Command Window >> x=0:0.002:2*pi; >> y=exp(x+2);

>> x=0:0.002:2*pi; >> y=exp(x+2); >> plot(x,y) >> title('Función Exponencial'); >> xlabel('Dominio de definición'); >> ylabel('Recorrido de la función'); >> legend('f(x)=exp(x)');

3.1. Gráficas en 2D 3.1.3.Estilos de línea y marcadores

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.3.Estilos de línea y marcadores

3.1.3.Estilos de línea y marcadores

3.1. Gráficas en 2D 3.1.3.Estilos de línea y marcadores
3.1. Gráficas en 2D 3.1.3. Ejemplo de línea y marcadores >> x=0:0.3:2*pi; >> y=exp(x); >>

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.3. Ejemplo de línea y marcadores >> x=0:0.3:2*pi; >> y=exp(x); >>

3.1.3. Ejemplo de línea y marcadores

3.1. Gráficas en 2D 3.1.3. Ejemplo de línea y marcadores >> x=0:0.3:2*pi; >> y=exp(x); >>

>> x=0:0.3:2*pi; >> y=exp(x); >> plot(x,y,'-r^');

Ejemplo de línea y marcadores >> x=0:0.3:2*pi; >> y=exp(x); >> plot(x,y,'-r^');
3.1. Gráficas en 2D 3.1.3. Ejemplo de línea y marcadores >> x=0:0.03:2*pi; >> y=exp(x); >>

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.3. Ejemplo de línea y marcadores >> x=0:0.03:2*pi; >> y=exp(x); >>

3.1.3. Ejemplo de línea y marcadores

3.1. Gráficas en 2D 3.1.3. Ejemplo de línea y marcadores >> x=0:0.03:2*pi; >> y=exp(x); >>

>> x=0:0.03:2*pi; >> y=exp(x); >> plot(x,y,'-r^');

Ejemplo de línea y marcadores >> x=0:0.03:2*pi; >> y=exp(x); >> plot(x,y,'-r^');
3.1. Gráficas en 2D 3.1.4. Añadiendo curvas a un gráfico Para añadir nuevas líneas (curvas)

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.4. Añadiendo curvas a un gráfico Para añadir nuevas líneas (curvas) a

3.1.4. Añadiendo curvas a un gráfico

Para añadir nuevas líneas (curvas) a un gráfico ya existente se emplean los comandos: hold on y hold off.

El comando hold on permite que se mantengan los gráficos existentes a pesar de que pueda ocurrir un reescalamiento. La instrucción hold off elimina esta posibilidad.

3.1. Gráficas en 2D 3.1.4. Añadiendo curvas a un gráfico >> x=0:0.1:2; >> y1=exp(x); >>

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.4. Añadiendo curvas a un gráfico >> x=0:0.1:2; >> y1=exp(x); >>

3.1.4. Añadiendo curvas a un gráfico

3.1. Gráficas en 2D 3.1.4. Añadiendo curvas a un gráfico >> x=0:0.1:2; >> y1=exp(x); >>

>> x=0:0.1:2; >> y1=exp(x); >> t=0:0.1:2*pi;y2=sin(t); >> plot(x,y1,'-r');hold on >> plot(t,y2,':b');hold off

3.1. Gráficas en 2D 3.1.5. Comando subplot subplot(m,n,p) Dibuja la ventana gráfica en mxn ventanas

3.1. Gráficas en 2D

3.1.5. Comando subplot

3.1. Gráficas en 2D 3.1.5. Comando subplot subplot(m,n,p) Dibuja la ventana gráfica en mxn ventanas y

subplot(m,n,p)

Dibuja la ventana gráfica en mxn ventanas y cooca el gráfico correspondiente en la ventana p-ésima, empezando a contar por la parte superior izquierda y de izquiewrda a derecha hasta acabar la línea, para pasar a la siguiente. La utilidad de este comando en la representación de dibujar en cada celda una figura diferente

3.1. Gráficas en 2D 3.1.5. Ejemplo del Comando: subplot >> x=(0.1:0.1:4*pi); >>

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.5. Ejemplo del Comando: subplot >> x=(0.1:0.1:4*pi); >>

3.1.5. Ejemplo del Comando: subplot

>> x=(0.1:0.1:4*pi); >> y=sin(x);z=cos(x);t=exp(x);s=log(x); >> subplot(2,2,1); >> plot(x,y), axis([0 2*pi -1 1]),title('sin(x)') >> subplot(2,2,2); >> plot(x,z), axis([0 2*pi -1 1]),title('cos(x)') >> subplot(2,2,3); >> plot(x,t), axis ([0 2*pi 0 59]),title('exp(x)') >> subplot(2,2,4); >> plot(x,s), axis ([0.1 4*pi -10 5]),title('log(x)')

3.1. Gráficas en 2D 3.1.5. Ejemplo del Comando: subplot

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.5. Ejemplo del Comando: subplot

3.1.5. Ejemplo del Comando: subplot

3.1. Gráficas en 2D 3.1.5. Ejemplo del Comando: subplot
3.1. Gráficas en 2D 3.1.5. Ejemplo del Comando: subplot >> subplot(2,2,1); >>

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.5. Ejemplo del Comando: subplot >> subplot(2,2,1); >>

3.1.5. Ejemplo del Comando: subplot

>> subplot(2,2,1); >> ezplot('sin(x)',[-2*pi 2*pi]) >> subplot(2,2,2); >> ezplot('cos(x)',[-2*pi 2*pi]) >> subplot(2,2,3); >> ezplot('csc(x)',[-2*pi 2*pi]) >> subplot(2,2,4); >> ezplot('sec(x)',[-2*pi 2*pi])

ezplot('csc(x)',[-2*pi 2*pi]) >> subplot(2,2,4); >> ezplot('sec(x)',[-2*pi 2*pi])
3.1. Gráficas en 2D 3.1.5. Ejemplo del Comando: subplot

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.5. Ejemplo del Comando: subplot

3.1.5. Ejemplo del Comando: subplot

3.1. Gráficas en 2D 3.1.5. Ejemplo del Comando: subplot
3.1. Gráficas en 2D 3.1.6. Función: fplot A diferencia de la función plot donde había

3.1. Gráficas en 2D

3.1.6. Función: fplot

3.1. Gráficas en 2D 3.1.6. Función: fplot A diferencia de la función plot donde había que

A diferencia de la función plot donde había que especificar un vector de valores [x,y] a la función fplot solo hay que especificarle el nombre de una función o fichero donde encontrarla sin preocuparnos por detalles como el de la pendiente por citar tan solo un ejemplo.

3.1. Gráficas en 2D 3.1.6. Función: fplot fplot(‘f’,[xmin,xmax]) Dibuja la funcion en el intervalo de

3.1. Gráficas en 2D

3.1.6. Función: fplot

3.1. Gráficas en 2D 3.1.6. Función: fplot fplot(‘f’,[xmin,xmax]) Dibuja la funcion en el intervalo de

fplot(‘f’,[xmin,xmax])

Dibuja la funcion en el intervalo de variación de ‘x’ dado

fplot(‘f’,[xmin,xmax], ymin, ymax],S)

Dibuja la funcion en los intervalos de variación de ‘x’ e ‘y’ dados, con las opciones de color y caracteres dadas por S

fplot([‘f1’,’f2’, ’fn’],[xmin,x max], ymin, ymax],S)

Dibuja las funciones en los intervalos de variación de ‘x’ e ‘y’ dados, con las opciones de color y caracteres dadas por S

3.1. Gráficas en 2D 3.1.6. Función: fplot fplot(‘f’,[xmin,xmax]……t) Dibuja la funcion con la tolerancia

3.1. Gráficas en 2D

3.1.6. Función: fplot

3.1. Gráficas en 2D 3.1.6. Función: fplot fplot(‘f’,[xmin,xmax]……t) Dibuja la funcion con la tolerancia

fplot(‘f’,[xmin,xmax]……t)

Dibuja la funcion con la tolerancia ‘t’

fplot(‘f’,[xmin,xmax], ymin, ymax],n)

Dibuja la funcion con la tolerancia ‘t’ como ‘n+1’ puntos como mínimo

3.1. Gráficas en 2D 3.1.6. Ejemplos de la Función: fplot >> fplot('[sin(x), sin(2*x), sin(3*x)]', [0,

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.6. Ejemplos de la Función: fplot >> fplot('[sin(x), sin(2*x), sin(3*x)]', [0,

3.1.6. Ejemplos de la Función: fplot

3.1. Gráficas en 2D 3.1.6. Ejemplos de la Función: fplot >> fplot('[sin(x), sin(2*x), sin(3*x)]', [0,

>>fplot('[sin(x), sin(2*x), sin(3*x)]', [0, 2*pi],'*'); >> legend('Sen(x)','Sen(2x)’

,'Sen(3x)')

sin(3*x)]', [0, 2*pi],'*'); >> legend('Sen(x)','Sen(2x)’ ,'Sen(3x)')
3.1. Gráficas en 2D 3.1.6. Ejemplos de la Función: fplot >> fplot('[sin(x), sin(2*x), sin(3*x)]', [0,

3.1. Gráficas en 2D

3.1. Gráficas en 2D 3.1.6. Ejemplos de la Función: fplot >> fplot('[sin(x), sin(2*x), sin(3*x)]', [0,

3.1.6. Ejemplos de la Función: fplot

3.1. Gráficas en 2D 3.1.6. Ejemplos de la Función: fplot >> fplot('[sin(x), sin(2*x), sin(3*x)]', [0,

>> fplot('[sin(x), sin(2*x), sin(3*x)]', [0, 2*pi],'-','o','*'); >> text(3,0.8, 'y=sen(2x)') >> text(1,-0.6,'y=sen(3x)') >> text(1.5,1,'y=sen(x)')

text(3,0.8, 'y=sen(2x)') >> text(1,-0.6,'y=sen(3x)') >> text(1.5,1,'y=sen(x)')
3.2. Gráficas en 3D El módulo básico de MatLab posee excelentes cualidades para la representación

3.2. Gráficas en 3D

3.2. Gráficas en 3D El módulo básico de MatLab posee excelentes cualidades para la representación gráfica

El módulo básico de MatLab posee excelentes cualidades para la representación gráfica en tres dimensiones (3D) de curvas y superficies. Se podía hacer un estudio detallado análogo a 2D pero es mucho más extenso y se sale del objetivo de este curso. (Ver bibliografía especializada)

3.2. Gráficas en 3D 3.2.1. Dibujo de líneas: función plot3 plot3(X,Y,Z) Dibuja el conjunto de
3.2. Gráficas en 3D 3.2.1. Dibujo de líneas: función plot3 plot3(X,Y,Z) Dibuja el conjunto de
3.2. Gráficas en 3D 3.2.1. Dibujo de líneas: función plot3 plot3(X,Y,Z) Dibuja el conjunto de

3.2. Gráficas en 3D

3.2.1. Dibujo de líneas: función plot3

plot3(X,Y,Z)

Dibuja el conjunto de puntos (X,Y,Z), donde X,Y,Z son vectores filas. Pueden ser coordenadas paramétricas o matrices de la misma dimensión, en cuyo caso se hace una gráfica por cada tripleta de filas y sobre los mismos ejes. Para valores complejos se ignoran las partes imaginarias

Dibuja el conjunto de puntos (X,Y,Z) con las opciones definidas en S. Usualmente S se compone de dos dígitos entre comillas, el primero los cuales fija el col,or de la línea del gráfico y el segundo el carácter a usar.

plot3(X,Y,Z, S)

plot3(Xi,Yi,Zi,

Si,….)

Combina sobre los mismos ejes, las gráficas definidas para las tripletas (Xi,Yi,Zi, Si). Se trata de representar varias funciones al mismo tiempo.

3.2. Gráficas en 3D 3.2.1. Dibujo de líneas: función plot3

3.2. Gráficas en 3D

3.2. Gráficas en 3D 3.2.1. Dibujo de líneas: función plot3

3.2.1. Dibujo de líneas: función plot3

3.2. Gráficas en 3D 3.2.1. Dibujo de líneas: función plot3
3.2. Gráficas en 3D 3.2.1. Dibujo de líneas: función plot3 >> X=[0 1 2 3

3.2. Gráficas en 3D

3.2. Gráficas en 3D 3.2.1. Dibujo de líneas: función plot3 >> X=[0 1 2 3 4

3.2.1. Dibujo de líneas: función plot3

Gráficas en 3D 3.2.1. Dibujo de líneas: función plot3 >> X=[0 1 2 3 4 5

>> X=[0 1 2 3 4 5 6 7 8 9 ];

>> Y=[11 12 13 14 15 16 17 18

19 20];

>> Z=[21 22 23 24 25 26 27 28

29 30];

>> plot3(X,Y,Z)

]; >> Y=[11 12 13 14 15 16 17 18 19 20]; >> Z=[21 22 23
3.2. Gráficas en 3D 3.2.1. Dibujo de líneas: función plot3 >> t=0:pi/75:10*pi; >>

3.2. Gráficas en 3D

3.2. Gráficas en 3D 3.2.1. Dibujo de líneas: función plot3 >> t=0:pi/75:10*pi; >>

3.2.1. Dibujo de líneas: función plot3

Gráficas en 3D 3.2.1. Dibujo de líneas: función plot3 >> t=0:pi/75:10*pi; >>

>> t=0:pi/75:10*pi; >> plot3(sin(t),cos(t),t,'.r')

3D 3.2.1. Dibujo de líneas: función plot3 >> t=0:pi/75:10*pi; >> plot3(sin(t),cos(t),t,'.r')
3.2. Gráficas en 3D 3.2.2. Formas geométricas 3D especiales Matlab dispone de comandos para representar

3.2. Gráficas en 3D

3.2. Gráficas en 3D 3.2.2. Formas geométricas 3D especiales Matlab dispone de comandos para representar formas

3.2.2. Formas geométricas 3D especiales

Matlab dispone de comandos para representar formas geométricas especiales en tres dimensiones:

Cilindros Esferas Gráficos de barras Secciones Tallos Cascada Etc.,

dimensiones: • Cilindros • Esferas • Gráficos de barras • Secciones • Tallos • Cascada •
3.2. Gráficas en 3D 3.2.2. Formas 3D especiales: Barras Tridimensionales

3.2. Gráficas en 3D

3.2. Gráficas en 3D 3.2.2. Formas 3D especiales: Barras Tridimensionales

3.2.2. Formas 3D especiales: Barras Tridimensionales

3.2. Gráficas en 3D 3.2.2. Formas 3D especiales: Barras Tridimensionales
3.2. Gráficas en 3D 3.2.2. Formas 3D especiales: Gráfico de Tallos

3.2. Gráficas en 3D

3.2. Gráficas en 3D 3.2.2. Formas 3D especiales: Gráfico de Tallos

3.2.2. Formas 3D especiales: Gráfico de Tallos

3.2. Gráficas en 3D 3.2.2. Formas 3D especiales: Gráfico de Tallos
3.2. Gráficas en 3D 3.2.2. Formas 3D especiales: Esfera Unidad

3.2. Gráficas en 3D

3.2. Gráficas en 3D 3.2.2. Formas 3D especiales: Esfera Unidad

3.2.2. Formas 3D especiales: Esfera Unidad

3.2. Gráficas en 3D 3.2.2. Formas 3D especiales: Esfera Unidad
3.2. Gráficas en 3D 3.2.3. Mallados [X,Y]=meshgrid(x,y) Transforma el campo de definición de las variables

3.2. Gráficas en 3D

3.2.3. Mallados

3.2. Gráficas en 3D 3.2.3. Mallados [X,Y]=meshgrid(x,y) Transforma el campo de definición de las variables ‘x’

[X,Y]=meshgrid(x,y)

Transforma el campo de definición de las variables ‘x’ e ’y’ de la función a representar ‘z=f(x,y)’ en argumentos matriciales utilizables por los comandos surf y mesh para obtener gráficos de superficie y mallas, respectivamente.

surf(X,Y,Z,C)

Representa la superficie explícita ‘z=f(x,y)’ o la paramétrica realizando el dibujo conn los colores especificados en C. (El argumento C se puede ignorar)

surfc(X,Y,Z,C)

Representa la superficie explícita ‘z=f(x,y)’ junto con el gráfico de contorno correspondiente (curvas de nivel sobre el plano OXY)

3.2. Gráficas en 3D 3.2.3. Mallados mesh(X,Y,Z,C) Representa la superficie explícita ‘z=f(x,y)’ o la

3.2. Gráficas en 3D

3.2.3. Mallados

3.2. Gráficas en 3D 3.2.3. Mallados mesh(X,Y,Z,C) Representa la superficie explícita ‘z=f(x,y)’ o la

mesh(X,Y,Z,C)

Representa la superficie explícita ‘z=f(x,y)’ o la paramétrica realizando dibujando las líneas de la rejilla que componen la malla con los colores especificados en C

meshz(X,Y,Z,C)

Representa la superficie explícita ‘z=f(x,y)’ o la paramétrica con una especie de cortina de cortina o telón en la parte inferior

meshc(X,Y,Z,C)

Representa la superficie explícita ‘z=f(x,y)’ junto con el gráfico de contorno correspondiente (curvas de nivel sobre el plano OXY)

3.2. Gráficas en 3D 3.2.3. Ejemplo de función mesh >> [X,Y]=meshgrid(-3:0.125:3); >> Z=peaks(X,Y);

3.2. Gráficas en 3D

3.2. Gráficas en 3D 3.2.3. Ejemplo de función mesh >> [X,Y]=meshgrid(-3:0.125:3); >> Z=peaks(X,Y);

3.2.3. Ejemplo de función mesh

3.2. Gráficas en 3D 3.2.3. Ejemplo de función mesh >> [X,Y]=meshgrid(-3:0.125:3); >> Z=peaks(X,Y);

>> [X,Y]=meshgrid(-3:0.125:3); >> Z=peaks(X,Y); >> mesh(X,Y,Z); >> axis([-3 3 -3 3 -10 5]);

[X,Y]=meshgrid(-3:0.125:3); >> Z=peaks(X,Y); >> mesh(X,Y,Z); >> axis([-3 3 -3 3 -10 5]);
3.2. Gráficas en 3D 3.2.3. Función mesh NOTA: La coloración del gráfico generado por la

3.2. Gráficas en 3D

3.2.3. Función mesh

3.2. Gráficas en 3D 3.2.3. Función mesh NOTA: La coloración del gráfico generado por la función

NOTA: La coloración del gráfico generado por la función mesh es tomado por defecto como función de los valores de z.

Los valores del color pueden ser asignados por el usuarios también a través de un vector de colores.

3.2. Gráficas en 3D 3.2.3. Ejemplo de función surf >> [X,Y]=meshgrid(- 3:0.125:3); >> Z=peaks(X,Y);

3.2. Gráficas en 3D

3.2. Gráficas en 3D 3.2.3. Ejemplo de función surf >> [X,Y]=meshgrid(- 3:0.125:3); >> Z=peaks(X,Y);

3.2.3. Ejemplo de función surf

3.2. Gráficas en 3D 3.2.3. Ejemplo de función surf >> [X,Y]=meshgrid(- 3:0.125:3); >> Z=peaks(X,Y);

>>[X,Y]=meshgrid(-

3:0.125:3);

>> Z=peaks(X,Y); >> surf(X,Y,Z);

Ejemplo de función surf >> [X,Y]=meshgrid(- 3:0.125:3); >> Z=peaks(X,Y); >> surf(X,Y,Z);
3.2. Gráficas en 3D 3.2.3. Líneas de contorno contour(Z) Dibuja la gráfica de contorno (curvas

3.2. Gráficas en 3D

3.2.3. Líneas de contorno

3.2. Gráficas en 3D 3.2.3. Líneas de contorno contour(Z) Dibuja la gráfica de contorno (curvas de

contour(Z)

Dibuja la gráfica de contorno (curvas de nivel) para la matriz Z. El número de líneas de contorno se elige arbitrariamente

contour(Z,n)

Dibuja la gráfica de contorno (curvas de nivel) para la matriz Z usando en los eles OX y OY el escalado definido mpor los vectores ‘x’ e ‘y’ (‘n’ líneas de contorno).

contour(x,y,Z,n)

Representa la superficie explícita ‘z=f(x,y)’ junto con el gráfico de contorno correspondiente (curvas de nivel sobre el plano OXY)

contour3(Z),

Representa las gráficas en tres diemensiones

contour3(Z,n),

contour3(x,y,Z,n)

contourf(… )

Dibuja una gráfica de contorno y rellena las áreas entre las isolíneas

3.2. Gráficas en 3D 3.2.3. Ejemplo de función contour >>[X,Y]=meshgrid(-7.5:.5:7.5);

3.2. Gráficas en 3D

3.2. Gráficas en 3D 3.2.3. Ejemplo de función contour >>[X,Y]=meshgrid(-7.5:.5:7.5);

3.2.3. Ejemplo de función contour

3.2. Gráficas en 3D 3.2.3. Ejemplo de función contour >>[X,Y]=meshgrid(-7.5:.5:7.5);

>>[X,Y]=meshgrid(-7.5:.5:7.5);

>>Z=(X.^3+Y.^2+2*Y+9)./(X.^2+Y.^2+1);

>> contour(Z)

3.2. Gráficas en 3D 3.2.3. Ejemplo de función contour >> [X,Y]=meshgrid(-6:.134:6); >> Z=peaks(X,Y);

3.2. Gráficas en 3D

3.2. Gráficas en 3D 3.2.3. Ejemplo de función contour >> [X,Y]=meshgrid(-6:.134:6); >> Z=peaks(X,Y);

3.2.3. Ejemplo de función contour

3.2. Gráficas en 3D 3.2.3. Ejemplo de función contour >> [X,Y]=meshgrid(-6:.134:6); >> Z=peaks(X,Y);

>> [X,Y]=meshgrid(-6:.134:6); >> Z=peaks(X,Y); >> axis([-5 5 -5 5 -12 6]); >> contour(Z,39);

3.2. Gráficas en 3D 3.2.3. Ejemplo de función contour3 >> [X,Y]=meshgrid(-10:.13:10); >>

3.2. Gráficas en 3D

3.2. Gráficas en 3D 3.2.3. Ejemplo de función contour3 >> [X,Y]=meshgrid(-10:.13:10); >>

3.2.3. Ejemplo de función contour3

3.2. Gráficas en 3D 3.2.3. Ejemplo de función contour3 >> [X,Y]=meshgrid(-10:.13:10); >>

>> [X,Y]=meshgrid(-10:.13:10); >> Z=peaks(X,Y); >> axis([-10 10 -10 10 -20 5]); >> contour3(Z,45);

3.2. Gráficas en 3D 3.2.3. Ejemplo de función contourf >> [X,Y]=meshgrid(-10:.13:10); >>

3.2. Gráficas en 3D

3.2. Gráficas en 3D 3.2.3. Ejemplo de función contourf >> [X,Y]=meshgrid(-10:.13:10); >>

3.2.3. Ejemplo de función contourf

3.2. Gráficas en 3D 3.2.3. Ejemplo de función contourf >> [X,Y]=meshgrid(-10:.13:10); >>

>> [X,Y]=meshgrid(-10:.13:10); >> Z=peaks(X,Y); >> axis([-10 10 -10 10 -20 5]); >> contourf(Z,45);

Bibliografía 1. Aprenda Matlab 7.0 como si estuviera en primero 2. La ayuda de Matlab

Bibliografía

Bibliografía 1. Aprenda Matlab 7.0 como si estuviera en primero 2. La ayuda de Matlab 7.0
Bibliografía 1. Aprenda Matlab 7.0 como si estuviera en primero 2. La ayuda de Matlab 7.0

1. Aprenda Matlab 7.0 como si estuviera en primero

2. La ayuda de Matlab 7.0

3. Ver en la sección “demos” de la ayuda de Matlab:

Graphics” (XY plots in MatLab y XYZ plots in MatLab)

New Features in Version 7(Quinto video)

Tema IV Programar con Matlab Profs. Dres. Sixto Romero Francisco J. Moreno Master en Ingeniería

Tema IV Programar con Matlab

Profs. Dres. Sixto Romero Francisco J. Moreno Master en Ingeniería de Control, Sistemas Electrónicos e Informática Industrial

2007-2008

Sumario 4.1. Estructuras condicionales y bucles 4.1.1. Comando if 4.1.2. Comando switch 4.1.3. Bucle for

Sumario

4.1. Estructuras condicionales y bucles

4.1.1. Comando if

4.1.2. Comando switch

4.1.3. Bucle for

4.1.4. Bucle while

4.1.5. Comando break

4.1.6. Comando continue

Comando if 4.1.2. Comando switch 4.1.3. Bucle for 4.1.4. Bucle while 4.1.5. Comando break 4.1.6. Comando
Sumario 4.2. Entrada/salida interactiva de variables 4.2.1. función input 4.2.2. función disp 4.3. Programar en

Sumario

4.2. Entrada/salida interactiva de variables

4.2.1. función input

4.2.2. función disp

4.3. Programar en Matlab

4.3.1. Editor de texto

4.3.2. Los Scripts

4.3.3. El fichero *.m

4.1. Estructuras condicionales y bucles MatLab puede utilizarse como un lenguaje de alto nivel que

4.1. Estructuras condicionales y bucles

MatLab puede utilizarse como un lenguaje de alto nivel que incluye estructuras de:

* Datos

* Funciones

* Instrucciones de control de flujo

* Manejo de E/S

* Otras.

de alto nivel que incluye estructuras de: * Datos * Funciones * Instrucciones de control de
4.1. Estructuras condicionales y bucles MatLab puede utilizarse como un lenguaje de programación propio que

4.1. Estructuras condicionales y bucles

MatLab puede utilizarse como un lenguaje de programación propio que dispone de sentencias para realizar bifurcaciones y bucles.

a) Las bifurcaciones permiten realizar una u otra

operación según se cumpla o no una determinada condición.

b) Los bucles permiten repetir las mismas o análogas

operaciones sobre datos distintos.

4.1. Estructuras condicionales En MatLab existen dos estructuras condicionales fundamentales: una de ellas se conforma

4.1. Estructuras condicionales

En MatLab existen dos estructuras condicionales fundamentales: una de ellas se conforma a partir del comando if y la otra a partir del comando switch.

4.1.1. Comandos if Estructura condicional conformada a partir del comando if en su forma simple

4.1.1. Comandos if

Estructura condicional conformada a partir del comando if en su forma simple:

if <condición> <comandos> end

¡Se ejecutan los comandos si la condición es cierta!

simple : if < condición > < comandos > end ¡Se ejecutan los comandos si la
4.1.1. Comandos if Estructura condicional conformada a partir del comando if en su forma general

4.1.1. Comandos if

Estructura condicional conformada a partir del comando if en su forma general:

if <condición >

<comandos1>

else

<comandos2>

end

< comandos1 > else <comandos2> end ¡Se ejecutan los comandos 1 si la condición es cierta

¡Se ejecutan los comandos 1 si la condición es cierta y los comandos 2 si la condición es falsa!

4.1.1.Comandos if Los comandos if pueden ser anidados como el comando for que veremos más

4.1.1.Comandos if

Los comandos if pueden ser anidados como el comando for que veremos más adelante. Cuandose anidan comandos if se

utiliza la sentencia elseif

if <condición 1>

<comandos1>

elseif <condición 2>

<comandos2>

else

<comandos>

end

1 > < comandos1 > elseif <condición 2> <comandos2> else <comandos> end
4.1.1. Comando if La sintaxis anidada anterior es equivalente, pero más rápida de ejecución, a

4.1.1. Comando if

La sintaxis anidada anterior es equivalente, pero más rápida de ejecución, a la sintaxis sin anidar siguiente:

if < condición 1>

<comandos1>

else if < condición 2>

<comandos2

else if <condición 3>

<comandos3>

else

….

end

end

end

2> <comandos2 else if <condición 3> <comandos3> else …. end end end
2> <comandos2 else if <condición 3> <comandos3> else …. end end end
4.1.1. Ejemplo de Comando if (Simple)

4.1.1. Ejemplo de Comando if (Simple)

4.1.1. Ejemplo de Comando if (Simple)
4.1.1. Ejemplo de Comando if (General)

4.1.1. Ejemplo de Comando if (General)

4.1.1. Ejemplo de Comando if (General)
4.1.2. Comando switch El comando switch ejecuta ciertas sentencias basadas en el valor de una

4.1.2. Comando switch

El comando switch ejecuta ciertas sentencias basadas en el valor de una variable.

switch <expresión(escalar o cadena> case <valor1>

<sentencias> case <valor2> <sentencias>

%Ejecuta si expresión es valor1

%Ejecuta si expresión es valor2

otherwise <sentencias> %Ejecuta si expresión no cumple ningún caso

end

4.1.2. Comando switch NOTA La secuencia de casos se interrumpe tan pronto se verifique el

4.1.2. Comando switch

NOTA

La secuencia de casos se interrumpe tan pronto se verifique el primero de ellos.

La sentencia break es innecesaria en esta estructura.

4.1.2. Comando switch

4.1.2. Comando switch

4.1.2. Comando switch
4.1.3. El bucle for El uso de funciones recursivas, condicionales y definidas a trozos es

4.1.3. El bucle for

El uso de funciones recursivas, condicionales y definidas a trozos es muy habitual en Matemáticas. Pare ello es necesario el uso de bucles.

Matlab dispone de su propia versión de la sentencia DO (definida en otros lenguajes) El bucle for repite un conjunto de instrucciones un número predeterminado de veces.

4.1.3. El bucle for for < var-control >= < var-ini >:< paso >:< var-fin >

4.1.3. El bucle for

for <var-control>= <var-ini>:<paso>:<var-fin> <comandos> end

for <var-control>= <vector-de-valores> <comandos> end

El bucle empieza con la clausula for y termina con la de end, e incluye en su interior comandos que se separan por comas. Si algún comando define una variable, se finaliza con punto y coma para evitar repeticiones en la salida. Normalmente se utilizan en el uso de la sintaxis de los M-ficheros

4.1.3. El bucle for

4.1.3. El bucle for

4.1.3. El bucle for
4.1.3. El bucle for

4.1.3. El bucle for

4.1.3. El bucle for
4.1.3. El bucle for También en Matlab se puede realizar anidamiento en un bucle for

4.1.3. El bucle for

También en Matlab se puede realizar anidamiento en un bucle for

Sintaxis:

for <var-control1>= <var-ini1>:<paso1>:<var-fin1> for <var-control2>= <var-ini2>:<paso2>:<var-fin2> <comandos> end end

4.1.3. El bucle for

4.1.3. El bucle for

4.1.3. El bucle for
4.1.3. El bucle for

4.1.3. El bucle for

4.1.3. El bucle for
4.1.4. El bucle while Matlab dispone de su propia versión del comando de bucle while.

4.1.4. El bucle while

Matlab dispone de su propia versión del comando de bucle while. Este comando permite ejecutar de forma repetitiva uno o un grupo de comandos un número determinado de eces mientras se cumple una condición lógica

while <condición> % Puede ser vectorial o matricial

<comandos>

end

4.1.4. El bucle while

4.1.4. El bucle while

4.1.4. El bucle while
4.1.4. El bucle while

4.1.4. El bucle while

4.1.4. El bucle while
4.1.5. El Comando break El comando break finaliza la ejecución de un bucle for y/o

4.1.5. El Comando break

El comando break finaliza la ejecución de un bucle for y/o while en el cual aparece continuando la ejecución en la siguiente instrucción fuera del bucle. más interno de los que comprenden a dicha sentencia.

4.1.5. El Comando break

4.1.5. El Comando break

4.1.5. El Comando break
4.1.6. El Comando continue El comando continue hace que se pase inmediatamente a la siguiente

4.1.6. El Comando continue

El comando continue hace que se pase inmediatamente a la siguiente iteración del bucle for o while ignorando las restantes instrucciones en el cuerpo del bucle.

4.2. Entrada/salida interactiva de variables En MatLab se introducen algunas funciones sencillas ( input ,

4.2. Entrada/salida interactiva de variables

En MatLab se introducen algunas funciones sencillas (input, disp) para la entrada y salida interactiva de variables.

input
input
disp
disp
4.2.1. La Función input La función input permite imprimir un mensaje en la línea de

4.2.1. La Función input

La función input permite imprimir un mensaje en la línea de comandos de MatLab y recuperar como valor de retorno un valor numérico o el resultado de una expresión tecleada por el usuario.

<identificador> = input(‘<Texto deseado>');

4.2.1. La Función input

4.2.1. La Función input

4.2.1. La Función input
4.2.1. La Función input NOTA Otra alternativa de la función in put esta función es

4.2.1. La Función input

NOTA

Otra alternativa de la función input esta función es la siguiente (obsérvese el parámetro 's'):

En este caso el texto tecleado se lee y se devuelve sin evaluar, con lo que se almacena en una variable como cadena.

4.2.1. La Función input La función input permite imprimir un mensaje en la línea de

4.2.1. La Función input

La función input permite imprimir un mensaje en la línea de comandos de Matlab y recuperar como valor de retorno un valor numérico o el resultado de una expresión tecleada por el usuario.

4.2.1. La Función input Ejemplo:

4.2.1. La Función input

Ejemplo:

4.2.1. La Función input Ejemplo:
4.2.1. La Función input Ejemplo:
4.2.1. La Función input Ejemplo:
4.2.2. La Función disp La función disp permite imprimir en pantalla un mensaje de texto

4.2.2. La Función disp

La función disp permite imprimir en pantalla un mensaje de texto o el valor de una matriz, pero sin imprimir su nombre.

Las cadenas de caracteres son un caso particular de vectores.

disp('<Texto deseado>');

4.3. Programar en Matlab En Matlab suelen escribirse los ficheros denominados M-ficheros. Son códigos Matlab(

4.3. Programar en Matlab

En Matlab suelen escribirse los ficheros denominados M-ficheros. Son códigos Matlab(scripts) que ejecutan una serie de comandos o funciones que aceptan argumentos y producen una salida. Los M-Ficheros se crean utilizando un editor cualquiera pero preferentemente el de Matlab.

4.3.1 El editor de texto Para crear un nuevo M-fichero se utiliza el Editor/Debugger, que

4.3.1 El editor de texto

Para crear un nuevo M-fichero se utiliza el Editor/Debugger, que se activa haciendo click

en la pestaña

que se activa haciendo click en la pestaña de la barra de herramientas de Matlab o

de la barra de herramientas de

Matlab o en la ventana de comandos New-> File El editor se abre con un fichero en blanco en el cual crearemos el M-fichero, es decir un fichero con código de programación Matlab.

4.3.1 El editor de texto

4.3.1 El editor de texto

4.3.1 El editor de texto
4.3.2. Los scripts Los scripts son el tipo de M-ficheros más sencillo posible. Un script

4.3.2. Los scripts

Los scripts son el tipo de M-ficheros más sencillo posible. Un script no tiene argumentos de entrada ni de salida. Sencillamente está formado por instrucciones Matlab que se ejecutan secuencialmente y que podrían submitirse igualmente en serie en la ventana de comandos. Los scripts operan con datos existentes en el espacio de trabajo o con nuevos datos creados por el propio script.

4.3.2. Ejemplo de scripts

4.3.2. Ejemplo de scripts

4.3.2. Ejemplo de scripts
4.3.2. Ejemplo de scripts
4.3.2. Ejemplo de scripts
4.3.2. Los ficheros *.m Existen dos tipos de ficheros *.m , los ficheros de comandos

4.3.2. Los ficheros *.m

Existen dos tipos de ficheros *.m, los ficheros de comandos (scripts) y las funciones.

4.4. Declaración de funciones La implementación de funciones amplía grandemente el horizonte de posibilidades de

4.4. Declaración de funciones

La implementación de funciones amplía grandemente el horizonte de posibilidades de MatLab. Matlab es habitualmente utilizado en modo comando (o interactivo).

Para ejecutar un M-fichero basta con teclear su nombre (sin extensión) en modo interactivo en la ventana de comandos y pulsar ENTER.

Para más información utilizar el comando Help de Matlab

4.4.1. Las funciones Declaración function [ parám_salida ] = nombre_función(< parám_entrada ) cuerpo de la

4.4.1. Las funciones

Declaración function [parám_salida] = nombre_función(<parám_entrada) cuerpo de la función

4.4.1. Las funciones a) Las funciones definidas en ficheros *.m se caracterizan porque la primera

4.4.1. Las funciones

a) Las funciones definidas en ficheros *.m se caracterizan porque la primera línea (no comentariada) comienza por la palabra function.

b) Si los parámetros de salida son más de uno, se sitúan entre corchetes y separados por comas, y si los parámetros de entrada son más de uno, se separan por comas.

c) El cuerpo de la función es la sintaxis que la define, y debe incluir comandos que asignen valores a los parámetros de salida

d) Cada comando suele ir en una línea que finaliza con una coma o con un punto y coma en caso de definición de variables

4.4.2. Ejemplo de función Definamos la función fun1(x)=x^4-2*x^3*sen(x^2+1). PASOS 1. Creamos el correspondiente M-

4.4.2. Ejemplo de función

Definamos la función fun1(x)=x^4-2*x^3*sen(x^2+1).

PASOS

1. Creamos el correspondiente M- fichero de nombre fun1.m .

2. Introducción de instrucciones con el Editor/Debugger

3. Salvamos seleccionando la opción Save del menú File de la barra superior de menús del Matlab Editor/Debugger

4. Se recomienda guardar las funciones como ficheros de nombre igual al nombre de la función y en el subdirectorio de trabajo por defecto de Matlab C:\MATLAB7\work

5. Una vez definida y guardada la función anterior en un M-fichero, se puede utilizar desde la ventana de comandos.

4.4.2. Ejemplo de función

4.4.2. Ejemplo de función

4.4.2. Ejemplo de función
4.4.2. Otro ejemplo de función

4.4.2. Otro ejemplo de función

4.4.2. Otro ejemplo de función
4.4.2. El comando feval La evaluación de una función en sus argumentos (o parámetros de

4.4.2. El comando feval

La evaluación de una función en sus argumentos (o parámetros de entrada) también pude realizarse a través del comando feval cuya sintaxis es:

feval (‘F’, arg1,arg2,….,argn)

%Evalúa la función F (M-

fichero F.m en los argumentos especificados

4.4.2. Ejemplo del comando feval

4.4.2. Ejemplo del comando feval

4.4.2. Ejemplo del comando feval
4.4.3. Los breakpoints En cada línea del M-Fichero a la derecha del mismo aparece una

4.4.3. Los breakpoints

En cada línea del M-Fichero a la derecha del mismo aparece una barra horizontal. Haciendo click sobre ella fijamos un breakpoint que queda marcado por un punto rojo sobre la barra. Al fijar un breakpoint y ejecutar el programa se ejecutan todas las órdenes anteriores al punto breakpoint deteniéndose la ejecución. Cuando eso ocurre, una flecha verde indica la línea del programa hasta la cual se han

ejecutado las órdenes. En este momento, utilizando el workspace o el commnd windown, podemos ver los valores de cada variable o introducir órdenes en el command windown. Esta aplicación es muy útil para comprobar qué órdenes dentro del código generan resultados deseados.

4.4.3. Los breakpoints Una vez la ejecución se detiene en el breakpoint y aparece la

4.4.3. Los breakpoints

Una vez la ejecución se detiene en el breakpoint y aparece la flecha verde al principio de la línea tenemos varias opciones:

Detenerla ejecución

Poner de nuevo el programa a ejecutarse desde el breakpoint haste el final del M-Fichero

Ir ejecutando orden por orden a partir del breakpoint

a ej ecutarse desde el breakpoint haste el final del M-Fichero • Ir ejecutando orden por
a ej ecutarse desde el breakpoint haste el final del M-Fichero • Ir ejecutando orden por
a ej ecutarse desde el breakpoint haste el final del M-Fichero • Ir ejecutando orden por
4.4.3. Los breakpoints La figura muestra los botones del M-Fichero que realizan estas acciones. Para

4.4.3. Los breakpoints

La figura muestra los botones del M-Fichero que realizan estas acciones. Para borrar un breakpoint podemos hacer click sobre él o presionar uno de los dos botones que aprecen en la botonera del M-fichero, que borra todos los breakpoints que haye en el M-Fichero.

Podemos fijar tantos breakpoints como queramos.

del M-fichero, que borra todos los breakpoints que haye en el M-Fichero. Podemos fijar tantos breakpoints
del M-fichero, que borra todos los breakpoints que haye en el M-Fichero. Podemos fijar tantos breakpoints
del M-fichero, que borra todos los breakpoints que haye en el M-Fichero. Podemos fijar tantos breakpoints
4.4.3. Los breakpoints

4.4.3. Los breakpoints

4.4.3. Los breakpoints
4.4.3. Los breakpoints

4.4.3. Los breakpoints

4.4.3. Los breakpoints
Tema V Otros tipos de datos en MatLab Profs. Dres. Sixto Romero Francisco J. Moreno

Tema V Otros tipos de datos en MatLab

Profs. Dres. Sixto Romero

Francisco J. Moreno

Master en Ingeniería de Control, Sistemas Electrónicos e Informática Industrial

2007-2008

Sumario 5.1. Cadenas de caracteres 5.2. Hipermatrices (arreglos de más de 2 dim.) 5.3. Estructuras

Sumario

5.1. Cadenas de caracteres

5.2. Hipermatrices (arreglos de más de 2 dim.)

5.3. Estructuras

5.4. Cell arrays (matrices de celdas)

Cadenas de caracteres MatLab también opera con cadenas de caracteres, muy similar a como se

Cadenas de caracteres

MatLab también opera con cadenas de caracteres, muy similar a como se hace con lenguajes tan conocidos como C++.

Los caracteres de una cadena se almacenan en un vector de manera que existirá un carácter por elemento.

Cadenas de caracteres Una cadena carácter se representa entre comillas simples ( ‘cadena’ ). Ejemplos:

Cadenas de caracteres

Una cadena carácter se representa entre comillas simples (‘cadena’).

Ejemplos:

Cadenas de caracteres Una cadena carácter se representa entre comillas simples ( ‘cadena’ ). Ejemplos:
Cadenas de caracteres Una cadena carácter se representa entre comillas simples ( ‘cadena’ ). Ejemplos:
Cadenas de caracteres Para representar un carácter en MatLab se emplean 2 bytes o sea

Cadenas de caracteres

Para representar un carácter en MatLab se emplean 2 bytes o sea 16 bits.

Cadenas de caracteres Para representar un carácter en MatLab se emplean 2 bytes o sea 16
Algunas operaciones con cadenas

Algunas operaciones con cadenas

Algunas operaciones con cadenas
Algunas operaciones con cadenas char(v) Convierte un vector de numeros en una cadena char(c1, ,cn)

Algunas operaciones con cadenas

char(v)

Convierte un vector de numeros en una cadena

char(c1, ,cn)

Crea una matriz de caracteres (completando con espacios las cadenas más cortas)

deblank(c)

Elimina espacios al final de la cadena

isspace()

Detecta si un caracter es un espacio o no

disp(c)

Imprime la cadena c

strcomp(c1,c2)

Compara las cadenas c1 y c2

strcomp(c1,c2,n)

Compara los n primeros caracteres de las cadenas c1 y c2

strrep(c1,c2,c3)

Sustituye c2 por c3 cada vez que aparezca c2 en

c1

Hipermatrices MatLab permite trabajar con matrices de más de dos dimensiones es decir hipermatrices. La

Hipermatrices

MatLab permite trabajar con matrices de más de dos dimensiones es decir hipermatrices.

La aplicación fundamental de este hecho es almacenar bajo un único nombre distintas matrices de un mismo tamaño

Definición de hipermatrices Una hipermatriz es un arreglo de ( m x n x k

Definición de hipermatrices

Una hipermatriz es un arreglo de (mxnxk) elementos.

Definición de hipermatrices Una hipermatriz es un arreglo de ( m x n x k )
Definición de hipermatrices Ejemplo 1:

Definición de hipermatrices

Ejemplo 1:

Definición de hipermatrices Ejemplo 1:
Definición de hipermatrices Ejemplo 1:
Definición de hipermatrices Ejemplo 2:

Definición de hipermatrices

Ejemplo 2:

Definición de hipermatrices Ejemplo 2:
Definición de hipermatrices Ejemplo 2:
Definición de hipermatrices Ejemplo 2:
Definición de hipermatrices Ejemplo 2:
Estructuras Una estructura ( struct ) no es más que una agrupación de datos de

Estructuras

Una estructura (struct) no es más que una agrupación de datos de tipos diferentes bajo un mismo nombre que conforman en sí un nuevo tipo de dato.

Los datos de una estructura se denominan campos o miembros.

Creación de estructuras Aunque una estructura puede crearse elemento a elemento existe una forma mucho

Creación de estructuras

Aunque una estructura puede crearse elemento a elemento existe una forma mucho más eficiente y sencilla de trabajar:

Sintaxis

<identif > = struct (‘ field1’, value,

, ‘ fieldn’, value);

Ejemplo: Creación de estructuras

Ejemplo:

Creación de estructuras

Ejemplo: Creación de estructuras
Funciones que operan sobre estructuras fieldnames() Convierte un vector de numeros en una cadena isfield(ST,s)

Funciones que operan sobre estructuras

fieldnames()