Está en la página 1de 71

Curso de MATLAB

Docente: PhD. Secundino Marrero Ramrez


Contenido del curso
1- Entorno de Matlab
2- Matrices y vectores
3- Funciones matemticas elementales
4- Creacin de archivos m
5- Grficas 2d y 3d
6- Polinmios
7- Introduccin al simulink
8- Aplicaciones de toolbox de Matlab en la ingeniera
elctrica
Contenido
7. Polinomios
Representacin de polinomios en MATLAB
Races de un polinomio. Comando roots y fzero
Evaluacin de un polinomio en un valor especfico.
Comando polyval.
Ajuste de un polinomio a un conjunto de datos.
Comando polyfit, interp1.
8. Introduccin al simulink
9. Aplicaciones en Toolbox relacionados con la
ingeniera elctrica
Qu es Matlab?
Matlab = Matrix Laboratory.?
Un lenguaje de programacin interpretado

Programa interactivo para realizar clculos numricos


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 clculo matricial en ordenadores sin
Qu es Matlab?
Qu no es 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, versiones superiores de dual
core y quad core), AMD (Athlon, Optaron)
1. Entorno de MATLABIntroduccin a
MATLAB
Command Window
Workspace
Command History
Current Directory
Manejo de la ayuda
Pantalla principal de MATLAB
Entorno de trabajo
El lenguaje Matlab
Caracteres especiales
Funciones y scripts
Tipos
Variables
Operadores
Sentencias
Directorio de trabajo
Matlab puede ejecutar archivos con cdigo
Matlab puede cargar archivos de datos
La biblioteca de funciones est formada por
archivos con cdigo.
Matlab busca en sus directorios de sistema
ms el directorio de trabajo
Variable path
Scrip
Un script es un programa
Un programa es una secuencia de
instrucciones ejecutables
Un programa no depende de variables
externas
Tambin se guarda en un archivo .m en el
directorio de trabajo
Se ejecuta escribiendo el nombre del
archivo en la consola o pulsando F5 en el
editor.
Comandos
whos ----lista todas las variables disponibles?
save archivo ----guarda todas las variables?
save archivo a b ----guarda las variables a y b
load archivo ----carga variables
quit ----salir?
Ayuda de Matlab
Ayuda en modo texto mediante comandos
help funcin muestra la ayuda de una funcin
help vale tanto para las funciones del sistema como
para desarrollos propios
Ayuda de tipo grfico
Ayuda on-line
Pgina oficial de soporte
http://www.mathworks.com/support/
Documentacin
Soluciones a problemas ordenadas por categoras
Ejemplos de cdigo
Noticias
Actualizaciones
Matlab Central
Newsgroups
File Exchange
Link Exchange
Soporte tcnico personal por correo electrnico?
Utilizar un cdigo de licencia vlido?
Describir la plataforma?
Acotar el problema?
2. Vectores y matrices
Generacin de vectores y matrices: operador : , zeros, ones, rand
El comando load
Referencia a las posiciones de una matriz
Operaciones: Suma, resta, multiplicacin, transpuesta,
potenciacin, divisin izquierda, divisin derecha, producto
elemento a elemento, divisin elemento a elemento, potenciacin
elemento a elemento.
Cadenas de caracteres.
Tipos de matrices predefinidos: eye, zeros, ones, linspace,
logspace, rand, randn, magic.
Formacin de matrices a partir de otras. Comandos: size, length,
zeros, ones, diag,
3. Funciones que actan sobre vectores: max, min, sum,
cumsum, mean, std, pro
Toolboxes
Libreras 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
Ejemplos de toolboxes de inters
Control System Toolbox
Fuzzy Logic Toolbox
Image Processing Toolbox
MATLAB Compiler
MATLAB Web Server
Mu-Analysis and Synthesis Toolbox
Neural Network Toolbox
Nonlinear Control Design Blockset
Optimization Toolbox
Real-Time Workshop
Robust Control Toolbox
SB2SL (converts SystemBuild to Simu...
Signal Processing Toolbox
System Identification Toolbox
Simpower, ..
Nuestra primera funcin
Abrimos un archivo nuevo en el editor
y = sin(x)
y=x-(x.^3)/6
Nuestro primer script
x=linspace(-pi,pi,100);
for i = 1:100
y(i)=sin(x(i));
end
plot(x,[y;sin(x)])
Lo guardamos con el nombre comparar.m en el directorio
de trabajo
Ayuda. Funcin help
En Matlab todo es una funcin
Cada funcin contiene una pequea ayuda
Para consultar la ayuda existe la funcin
Help
Ejemplo:
help eig
Tipos numricos
Tipo por defecto: arrays n-dimensionales de
doble precisin
Simple precisin
Enteros de varios bits
Elementos de inters
>> a = pi
a = 3.1416
>> a(1)
ans = 3.1416
>> a(1,1)
ans = 3.1416
Variables
Matlab no requiere declarar ni dimensionar variables
Las variables se auto-declaran al inicializarlas
La memoria se reasigna dinmicamente
Vectores y matrices
Matlab considera que todas las variables son matrices
(vectores y escalares son casos particulares).?
Vectores y Matrices
Vectores y Matrices
Acceso a los elementos de una
matriz
Matlab utiliza los parntisis para acceder a elementos
de la matriz
Los subndices empiezan en 1, por lo tanto el primer
elemento es a(1,1)
Ejemplo: Ejemplo: a(3,5)=56.8;
a=

0 0 0 0 7.0000
0 0 0 0 0
0 0 0 0 56.8000
4. Funciones matemticas elementales: sin, cos, tan, asin, acos, atan, atan2, sinh, cosh,
tanh, asinh, acosh, atanh, abs, angle, sqrt, real, imag
Operaciones bsicas
Otras operaciones matriciales
Otras operaciones
Trig: sin, cos, tan, asin, acos, atan, sinh, cosh, tanh,
asinh, acosh, atanh
Rounding: floor, ceil, round, fix
Modular: rem, mod
Exponential: exp, log, log2, log10, sqrt
Primes: factor, primes
Programacin en Matlab
Un script es una secuencia de instrucciones de Matlab
guardada en un archivo con extensin .m
Funciones
Expresiones lgicas
Control de flujo if:
Control de flujo for:
Control de flujo While
4- Creacin de un programa en un archivo .m
Guide genera un archivo .m para escribir el cdigo de un
programa?
5. Grficas 2-D y 3D en MATLAB
Componentes de una grfica
Creacin de grficas: comando plot
Propiedades de los ejes
Ttulos de los ejes y de la grfica: comandos title, xlabel, ylabel.
Control de los ejes: comando axis
Mltiples grficas en un solo eje
Leyenda: comando legend
Estilos de lnea y colores
Propiedades de la lnea
Comando subplot
Imgenes
Matlab permite crear grficos de varios tipos, que se
utilizan para:
visualizar el contenido de las variables?
crear imgenes/pelculas/VR/GIS?
generar interfaces de usuario
Crear ajustar grficos
Seleccin del tipo de grfico
Tipos de grficos (1D, 2D)
Tipos de grficos (>=3D)
Crear grficos con plot
Crear grficos con plot
Texto en grficos
Subplots: varios grficos por figura
Grficos de superficies
Iluminacin
[x,y,z]=peaks;
surfl(x,y,z);
shading interp
Retoque de grficos desde men
Retoque de grficos desde men
Retoque de grficos desde men
Guardar grficos
Creacin de animaciones
Comunicaciones externas
Adquisicin directa de datos
Database toolbox
Data Acquisition toolbox
Image Acquisition toolbox
Adquisicin de datos desde archivos
xlsread, load, textscan (nmeros)
auread, wavread (sonido)
imread (imagen)
aviread (pelcula)
Comunicaciones externas
Programas externos
Matlab llama a otros programas
system , dos , unix
Matlab llama a funciones de otros lenguajes
crear un fichero MEX (#include "mex.h")
Matlab llama a la funcin como si fuese un .m
Excel llama a Matlab
Excel Link toolbox
Cualquier programa llama a Matlab
matlab nodisplay m programa
matlab nodesktop m programa
Generacin de documentacin
Matlab incorpora una opcin de generacin de
documentacin.
De momento slo funciona para scripts?
Genera documentacin en HTML, XML, LaTeX, Word y Power Point.
Se basa el los comentarios de las secciones
Procedimiento:
Activar "cell mode" en el editor con Cell/Enable Cell Mode
Seleccionar File/Publish to HTML
Matlab ejecuta el script y genera un HTML con los
comentarios, el cdigo y grficas de los resultados.
Ejemplo de calculo en MATLAB
En Matlab son 6 lneas
El resultado
Una calculadora programable?
1 >> 2+2
2 ans = 4
3 >> mean([1,2,3,4,5,6,7,8,9])
4 ans = 5
5 >> abs(3+4i)
6 ans = 5
El error ms comn de Matlab
>> a=rand(3,3);
>> a=rand(3,3);b=rand(3,3);
>> a * b
ans =
1.0297 0.9105 0.3293
0.9663 0.8267 0.4211
0.5355 0.4318 0.3279
>> a. * b
ans =
10 0.1824 0.3253 0.0563
11 0.5500 0.6003 0.1897
12 0.0458 0.0017 0.1822
El error ms comn de Matlab
a=[1,2,3;4,5,6;7,8,9];
>> a.^pi
ans =
1.0000 8.8250 31.5443
77.8802 156.9925 278.3776
451.8079 687.2913 995.0416
>> a^pi
ans =
1.0e+03 *
0.69 - 0.0004i 0.85 - 0.0001i 1.01 + 0.0002i
1.57 - 0.0000i 1.93 - 0.0000i 2.29 + 0.0000i
2.45 + 0.0003i 3.01 + 0.0001i 3.57 - 0.0002i
Otros comandos de Matlab
>> % Este comando ser ignorado
>> hola % Hola,Matlab!
ans = hola
Ejercicio 1
M=[1,2,3;4,5,6;7,8,9];
Escribir

123
456
789
Podemos indexar con vectores
>> M([1,2],[2,3])
ans =
3
23
56
O con ndices mudos
>> M(2,:)
ans =
456
Secuencias
Es una abreviatura comn para escribir un
vector fila
La sintaxis es
inicio:incremento:final
>> 0:2:10
ans =
0 2 4 6 8 10

>> 0:5
ans =
012345
Ejercicio 2
Crear la matriz siguiente y extraer de ella la submatriz
marcada en rojo.

También podría gustarte