Publicado el 14 de Enero del 2017
2.269 visualizaciones desde el 14 de Enero del 2017
1,5 MB
111 paginas
Creado hace 20a (24/01/2005)
Curso rápido de Matlab
Rafael Palacios (dic/2004)
Temario
Introducción a Matlab.
1.
2. Estructuras básicas de datos.
3. Programación en Matlab.
4. Estructuras avanzadas de datos.
5. Optimización de código.
6. Representaciones gráficas.
7. Desarrollo de aplicaciones con Matlab.
29/nov
13/dic
20/dic
Curso de Matlab - 2
Temario (1)
1.
Introducción a Matlab.
– Versiones de Matlab,
– Mejoras de la versión 7
– Entorno de desarrollo,
– Ayudas y documentación,
–
Toolboxes.
2. Estructuras básicas de datos.
3. Programación en Matlab.
4. Estructuras avanzadas de datos.
5. Optimización de código.
6. Representaciones gráficas.
7. Desarrollo de aplicaciones con Matlab.
Curso de Matlab - 3
Introducción a Matlab
• ¿Qué es Matlab?
– Matlab = Matrix Laboratory.
– Programa interactivo para realizar cálculos
numéricos y visualizaciones en el ordenador.
– Programa comercial de The Mathworks Inc
(Natick, MA). http://www.mathworks.com
– Creado en California por Jack Little and Cleve
Moler en 1984, para realizar cálculo matricial en
ordenadores sin necesidad de conocimientos de
programación.
Curso de Matlab - 4
Introducción a Matlab
Entorno interactivo
+
Lenguaje de programación
(con interfaces externos Fortran, C...)
+
Entorno para desarrollo de aplicaciones
Curso de Matlab - 5
Versiones de Matlab
• Plataformas donde corre Matlab
– Sistema Operativo
• Unix: Linux, solaris, HP-UX
• MacOS
• MS-Windows
– Arquitectura
• RISC: Sparc, HP-PA
• PowerMac (G4, G5)
• Intel Pentium(III, IV, Xeon, M), AMD (Athlon, Opteron)
Curso de Matlab - 6
Versiones de Matlab
• Matlab 5
– Gráficos de calidad (2D, 3D)
– PC: Corre bajo windows utilizando toda la memoria
disponible
• Matlab 6
– Entorno de desarrollo con interfaz Java.
– Matrices 3D, estructuras, cell arrays
• Matlab 7
– Mejoras en el interfaz y mejora de Simulink
– Matlab compiler admite objetos
– Cálculo con enteros
Curso de Matlab - 7
Algunas mejoras de Matlab 7
• Se puede poner todas las ventanas dentro del entorno de desarrollo
Workspace
command history
Figuras
command window
Curso de Matlab - 8
Algunas mejoras de Matlab 7
• Acceso a comandos anteriores
Teclas: PE TAB
Curso de Matlab - 9
Algunas mejoras de Matlab 7
• Dibujar gráficos directamentes desde el editor de matrices
Tamaño máximo
de la matriz:
524288 elementos
Curso de Matlab - 10
Algunas mejoras de Matlab 7
• Breakpoints con expresiones condicionales
Curso de Matlab - 11
Algunas mejoras de Matlab 7
• Ejecución del código por secciones (cellenable cell mode)
Ejecución
sección por
sección
Permite repetir la ejecución de una sección
cambiando un parámetro de la misma.
Parámetro que estamos retocando
Resultado de la ejecución de la sección
Curso de Matlab - 12
Otras mejoras de Matlab 7
• Ejecución/Debugger por secciones de código (Cell Mode)
• Generación automática de documentación
• Optimización de código con M-Lint y profiler (ver cap6)
• Mejoras en la generación automática de código desde
Simulink
Interactive plot tool (ver cap 6)
•
• Función textscan para leer archivos
• Cálculo con variables enteras.
– Matrices más pequeñas, código más rápido. imágenes
• Acentos y caracteres internacionales en el editor.
Curso de Matlab - 13
Entorno de desarrollo
• Arraque de Matlab
– Windows
• Inicio/Programas/Matlab 7.0.1/Matlab 7.0.1
• icono de Matlab en el escritorio
• comando: matlab
• comando: matlab –r programa
Unix
• comando: matlab
• En IIT comandos: matlab, matlab5, matlab61,
matlab65, matlab7
• Ejemplo útil: matlab65 -nodisplay
(Modo Consola sin gráficos)
Curso de Matlab - 14
Entorno de desarrollo
Ventana de
comandos
Curso de Matlab - 15
Comandos básicos
• ver muestra la versión, el código de licencia y
las toolboxes disponibles
– Licencia 46431: profesores (para investigación y
proyectos)
– Licencia 205966: aulas (sólo para docencia)
• whos lista todas las variables disponibles
• save archivoguarda todas las variables
• save archivo a b guarda las variables a y b
• load archivo carga variables
• quit salir
Curso de Matlab - 16
Editor
• Matlab incorpora un editor que interacciona con
el resto del entorno.
Controles del debugger
Ejecución por secciones
en cell mode
sintaxis
Curso de Matlab - 17
Ayudas y documentación
• Ayuda en modo texto mediante comandos
– help funciónmuestra la ayuda de una función
– help vale tanto para las funciones del sistema como para
desarrollos propios
• Ayuda de tipo gráfico
Hypertext Help Window
Start / Help
Curso de Matlab - 18
Ejemplo de consulta
Secciones de la ayuda
• Syntax
• Description
• Arguments
• Examples
• Algorithm
• Limitations
• See Also
• Refences
o la r s
h
c
y s
d b
e
p
e lo
v
e
d
Curso de Matlab - 19
Ayuda on-line
• Página oficial de soporte
http://www.mathworks.com/support/
– Documentación
– Soluciones a problemas ordenadas por categorías
– Ejemplos de código
– Noticias
– Actualizaciones
• Matlab Central
– Newsgroups
– File Exchange
– Link Exchange
• Soporte técnico personal por correo electrónico
– Utilizar un código de licencia válido
– Describir la plataforma
– Acotar el problema
Curso de Matlab - 20
Toolboxes
• Librerías especializadas en materias concretas. Incluyen:
– Manuales tipo tutorial (User's Guide) [HTML, PDF]
– Referencia de las funciones (Reference Guide) [HTML, PDF]
– Programas de demo
– Aplicaciones completas listas para utilizar
Curso de Matlab - 21
Ejemplos de Toolboxes
>> ver
-------------------------------------------------------------------------------------
MATLAB Version 6.5.0.180913a (R13)
MATLAB License Number: 46431
Operating System: SunOS 5.8 Generic_108528-29 sun4u
Java VM Version: Java 1.3.1_02 with Sun Microsystems Inc. Java HotSpot(TM) Server VM
-------------------------------------------------------------------------------------
MATLAB Version 6.5 (R13)
Simulink Version 5.0 (R13)
Control System Toolbox Version 5.2 (R13)
Fuzzy Logic Toolbox Version 2.1.2 (R13)
Image Processing Toolbox Version 3.2 (R13)
MATLAB Compiler Version 3.0 (R13)
MATLAB Web Server Version 1.2.2 (R13)
Mu-Analysis and Synthesis Toolbox Version 3.0.7 (R13)
Neural Network Toolbox Version 4.0.2 (R13)
Nonlinear Control Design Blockset Version 1.1.6 (R13)
Optimization Toolbox Version 2.2 (R13)
Real-Time Workshop Version 5.0 (R13)
Robust Control Toolbox Version 2.0.9 (R13)
SB2SL (converts SystemBuild to Simu... Version 2.5 (R13)
Signal Processing Toolbox Version 6.0 (R13)
System Identification Toolbox Version 5.0.2 (R13)
>> date
ans =
27-Nov-2004
Curso de Matlab - 22
Otras Toolboxes
Application Areas
• Technical Computing
http://www.mathworks.com/products/
– Mathematical computation, analysis, visualization, and algorithm
development
• Control Design
– Model-Based Design for control systems, including simulation, rapid
prototyping, and code generation for embedded systems
• Signal Processing and Communications
– Model-Based Design for signal processing and communication systems,
including simulation, code generation, and verification
•
Image Processing
– Image acquisition, analysis, visualization, and algorithm development
• Test & Measurement
– Hardware connectivity and data analysis for test and measurement
applications
• Financial Modeling and Analysis
– Financial modeling, analysis, and application deployment
Curso de Matlab - 23
Temario (2)
Introducción a Matlab.
1.
2. Estructuras básicas de datos.
– Variables
– Vectores y matrices
– Ejemplos de operaciones
–
Tipos de datos
3. Programación en Matlab.
4. Estructuras avanzadas de datos.
5. Optimización de código.
6. Representaciones gráficas.
7. Desarrollo de aplicaciones con Matlab.
Curso de Matlab - 24
Variables
• Matlab no requiere declarar ni dimensionar
variables
– Las variables se auto-declaran al inicializarlas
– La memoria se reasigna dinámicamente
>> x=5;
>> y=20;
>> z=x*y
z =
100
poniendo ';' se realiza la asignación pero no se muestra el resultado
sin poner ';' se puestra el resultado final
>> datos=load('datos.txt');
>> cadena='hola';
Curso de Matlab - 25
Vectores y Matrices
• Matlab considera que todas las variables son
matrices (vectores y escalares son casos
particulares).
Ejemplos de inicialización de vectores fila
>> x=[1,2,3,5,7,11,13]; [ 1 2 3 5 7 11 13 ]
>> x=[1 2 3 5 7 11 13]; [ 1 2 3 5 7 11 13 ]
>> y=1:5;
>> pares=2:2:10;
>> imp_down=9:-2:1;
[ 1 2 3 4 5 ]
[ 2 4 6 8 10 ]
[ 9 7 5 3 1 ]
>>a(5)=7;
[ 0 0 0 0 7 ]
Curso de Matlab - 26
Vectores y Matrices
Ejemplos de inicialización de vectores columna
>> x=[1;2;3;5;7;11;13]
x =
1
2
3
5
7
11
13
>> x=[1,2,3,5,7,11,13]';
Vector fila
traspuesta
Curso de Matlab - 27
Vectores y Matrices
Ejemplos de inicialización de Matrices
>> M = [1 2 3; 4 5 6; 7 8 9];
1 2 3
4 5 6
7 8 9
>> ceros=zeros(2,5);
>> unos=ones(3,4);
>> M2=[ 20, 21, 22; M];
>> M2=[[20, 21, 22]; M];
>> M3=[ [15;16;17], M];
>> aleatorio=rand(20,30);
>> normal=randn(20,30);
0 0 0 0 0
0 0 0 0 0
1 1 1 1
1 1 1 1
1 1 1 1
20 21 22
1 2 3
4 5 6
7 8 9
15 1 2 3
16 4 5 6
17 7 8 9
Curso de Matlab - 28
Acceso a los elementos de una matriz
• Matlab utiliza los paréntisis para acceder a
elementos de la matriz
• Los subíndices empiezan en 1, por lo tanto el
primer elemento es a(1,1)
• Ejempl
Comentarios de: Curso rápido de Matlab (0)
No hay comentarios