Está en la página 1de 19

Lenguaje de programación MATLAB

MATLAB (LABORATORIO DE MATRICES)

MATLAB es un entorno de computación y desarrollo de aplicaciones totalmente integrado


orientado para llevar a cabo proyectos en donde se encuentren implicados elevados
cálculos matemáticos y la visualización gráfica de los mismos. MATLAB
integra análisis numérico, cálculo matricial, proceso de señal y visualización gráfica en un entorno
completo donde los problemas y sus soluciones son expresados del mismo modo en que se
escribirían tradicionalmente, sin necesidad de hacer uso de la programación tradicional.

MATLAB dispone también en la actualidad de un amplio abanico de programas de apoyo


especializados, denominados Toolboxes, que extienden significativamente el número
de funciones incorporadas en el programa principal. Estos Toolboxes cubren
ACTORES en la actualidad
INFORMACION

prácticamente casi todas las áreas principales en el mundo de la ingeniería y la simulación,


destacando entre ellos el 'toolbox' de proceso de imágenes, señal, control robusto, estadística,
análisis financiero, matemáticas simbólicas, redes neurales, lógica difusa, identificación
de sistemas, simulación de sistemas dinámicos, etc. es un entorno de cálculo técnico, que se ha
PROCESOS
convertido en estándar de la industria, con capacidades no superadas en computación y visualización
numérica.
Lenguaje de programación MATLAB

ORIGEN DE MATLAB

MatLab fue originalmente desarrollado en lenguaje FORTRAN para ser usado en computadoras
mainframe. Fue el resultado de los proyectos Linpack y Eispack desarrollados en el Argonne National
Laboratory. Su nombre proviene de MATrix LABoratory. Al pasar de los años fue complementado y
reimplementado en lenguaje C. Actualmente la licencia de MatLab es propiedad de MathWorks Inc

PLATAFORMA DE USO

MatLab está disponible para una amplio número de plataformas: estaciones de trabajo SUN, Apollo,
VAXstation y HP, VAX, MicroVAX, Gould, Apple Macintosh y PC AT compatibles 80386 o superiores.
Opera bajo sistemas operativos UNIX, Macintosh y Windows.

PRODUCTOS

La empresa MathWorks ofrece MatLab como su principal producto para computación numérica,
INFORMACION
ACTORES
análisis y visualización de datos. También ofrece Simulink 6 como un anexo a MatLab y que
interactua con él en lenguaje de MatLab y lenguaje de bajo nivel C. Simulink es usado para
simulación modelado no lineal avanzado. Se ofrecen además numerosas herramientas especiales
en "Toolboxes" para resolver problemas de aplicaciones específicas, por ejemplo control,
procesamiento de señales, redes neurales, etc. Estas herramientas son colecciones de rutinas
PROCESOS

escritas en MatLab.
Lenguaje de programación MATLAB

Librería de Aplicaciones de MATLAB

1. SIGNAL PROCESSING TOOLBOX

MATLAB tiene una gran colección de funciones para el procesamiento de señal en el Signal
Processing Toolbox. Este incluye funciones para:

 Análisis de filtros digitales incluyendo respuesta en frecuencia, retardo de grupo, retardo


de fase.
 Implementación de filtros, tanto directo como usando técnicas en el dominio de la
frecuencia basadas en la FFT.
INFORMACION
 Diseño de filtros IIR, incluyendo Butterworth, Chebyschev tipo I, Chebyshebv tipo II y
ACTORES

elíptico.
 Diseño de filtros FIR mediante el algorítmo óptimo de Parks-McClellan.
 Procesamiento de la transformada rápida de Fourier FFT, incluyendo
PROCESOSla transformación para

potencias de dos y su inversa, y transformada para no potencias de dos.


Lenguaje de programación MATLAB

1. THE MATLAB C MATH LIBRARY

La MATLAB C Math Library proporciona una amplia gama de funciones clásicas del programa
MATLAB, proporcionadas como libreri as objeto, incluyendo básicamente las siguientes
categorías de funciones presentes en MATLAB y ficheros M compilados:

 Algebra lineal.
 Funciones matemáticas elementales y especializadas.
 Operadores lógicos y aritméticos.
 Matrices elementales y manipulación de vectores.
 Matrices especiales.
 Estadística básica y análisis de datos. INFORMACION
ACTORES
 Polinomios e interpolación. · Gestión de cadenas de caracteres.
 Entradas y Salidas.
 Gestión de memoria y errores.
PROCESOS
Lenguaje de programación MATLAB

1. Velocidad y Precisión

Los algoritmos utilizados en la MATLAB C Math Library han sido desarrollados por un grupo de
renombrados expertos en programación algorítmica de funciones de tipo matemático (algebra
lineal y cálculo numérico). Las funciones de álgebra lineal han sido obtenidas de las librerias
mundialmente reconocidas LINPACK y EISPACK. La MATLAB C Math Library contiene más de 300
INFORMACION
funciones numéricas, lógicas y de utilidad. Todas estas funciones le permitirán operar en datos
ACTORES

de tipo escalar, vectorial o matricial con la misma facilidad sintáctica.


PROCESOS
Lenguaje de programación MATLAB

1. Lista parcial de funciones


Funciones matemáticas
Funcionales especiales y elementales
Funciones gamma, beta y elípticas.
Transformación de sistemas de coordenadas.
Matriz identidad y otras matrices elementales.
Matrices de Hilbert, Toeplitz, Vandermonde, Hadamard, etc.
Partes reales, imaginarias y complejas conjugadas.
Funciones trigonométricas y de potencias.
Algebra lineal numérica
Valores propios y descomposición de matrices.
Funciones generales de evaluación de matrices.
Determinantes, normas, rangos, etc.
Matrices inversas y factorización de matrices.
Matriz exponencial, logarítmica y raíces cuadradas.
Polinomios e interpolación
Interpolación 1 -D y 2-D.
Construcción polinomial.
Interpolación por splines cúbicos.
Diferenciación de polinomios.
Evaluación de polinomios.
Multiplicación y división de polinomios.
Residuos de polinomios y residuos.
Métodos numéricos no lineales
Búsqueda de ceros en funciones de una única variable. INFORMACION
ACTORES
Minimización de funciones de una o más variables.
Resolución numérica de integrales.
Solución numérica de ecuaciones diferenciales ordinarias.
Estadística y análisis de Fourier
Convolución 1 -D y 2-D.
Filtros digitales 1-D y 2 -D.
Transformadas de Fourier 1 -D y 2-D y su inversa.
PROCESOS
Coeficientes de correlación y matrices de covarianza.
Deconvolución.
Magnitudes y ángulos de fase.
Funciones max, min, sum, mean y otras funciones de estadística básica.
Operaciones algebráicas y lógicas
Suma, resta, multiplicación, división y potencias de matrices.
Matrix traspuesta.
Operadores lógicos AND, OR, NOT y XOR.
Lenguaje de programación MATLAB

1. SYMBOLIC MATH TOOLBOX

 Algebra simbólica: Derivación, integración y simplificación de expresiones


matemáticas.
 Algebra lineal exacta: Inversas, determinantes, autovalores y formas canónicas de
matrices simbólicas.
 Aritmética de precisión variable: Evaluación de expresiones matemáticas con
diversos grados de precisión.
 Resolución de ecuaciones: Resolución
ACTORES numérica y simbólica de ecuaciones
INFORMACION

algebraicas y diferenciales.
 Funciones matemáticas especiales: Evaluación de la mayoría de las funciones
utilizadas en matemáticas aplicadas.
PROCESOS
Lenguaje de programación MATLAB

1. OPTIMIZATION TOOLBOX
 Cálculo de un extremo local (máximo o mínimo) de una función real f(x), en general
multivariable y no lineal, sin imponer ninguna restricción o condición a la solución.
Como caso particular, se incluye una rutina especial para problemas de mínimos
cuadrados no lineales.
 Cálculo de un extremo local (máximo o mínimo) de una función real f(x), en general
multivariable y no lineal, condicionado a que la solución satisfaga ciertas
condiciones de desigualdad (g(x)<=0) y/o igualdad (g(x)=0).
 Problemas de aproximación a un conjunto de objetivos.
 Cálculo de soluciones de un sistema de ecuaciones continuas y, en general, no
lineales. ACTORES
INFORMACION

 Solución de problemas minimax.


 Programación lineal.
 Programación cuadrática.
PROCESOS
Problemas de mínimos cuadrados no negativos
Lenguaje de programación MATLAB

1. IMAGE PROCESSING TOOLBOX


 Análisis de imágenes y estadística.
 Diseño de filtros y recuperación de imágenes.
 Mejora de imágenes.
 Operaciones morfológicas.
 Definición de mapas de colores y modificación gráfica.
 Operaciones geométricas.
 Transformación de imágenes. ACTORES
INFORMACION

 Proceso de bloques
PROCESOS
Lenguaje de programación MATLAB

1. Neural Network Toolbox


Este toolbox proporciona funciones para el diseño, inicialización, simulación y
entrenamiento de los modelos neuronales de uso más extendido en la actualidad:
Perceptrón, redes lineales, redes de retro propagación, redes de base radial, aprendizaje
asociativo y competitivo, aplicaciones auto organizativas, aprendizaje de cuantización
vectorial, redes de Elman y redes de Hopfield.

2. NON LINEAR CONTROL DESIGN TOOLBOX


Se trata del primer producto comercialmente disponible en la actualidad para el diseño de
INFORMACION
ACTORES
controladores automáticos en entornos de sistemas no lineales. Este nuevo toolbox está
pensado para ser utilizado exhaustivamente por ingenieros que diseñan controladores para
industrias avanzadas, destacando el sector del automóvil, ingeniería aeroespacial, control
de procesos y empresas petroquímicas. PROCESOS
Lenguaje de programación MATLAB

1. NAG FOUNDATION TOOLBOX


Algunas de las áreas de cobertura de la NAG Foundation Toolbox son las siguientes:
 Ceros de polinomios
 Raíces de una o más ecuaciones de tipo trascendental.
 Suma de series. · Cuadraturas.
 Ecuaciones diferenciales ordinarias.
 Ecuaciones diferenciales en derivadas parciales.
 Estadística no paramétrica. · Análisis de series temporales.
 Rutinas de clasificación.
 Aproximación de funciones especiales.
 Aproximación de curvas y superficies.
 Maximización y minimización de funciones.
 Factorización de matrices.
 Valores y vectores propios. ACTORES
INFORMACION

 Resolución de ecuaciones lineales simultáneas.


 Ecuaciones lineales (LAPACK).
 Estadística básica.
 Análisis de correlación y regresiones.
PROCESOS
 Métodos multivariantes.

Generación de números aleatorios


Lenguaje de programación MATLAB

GUI DEL USUARIO EN MATLAB

INFORMACION
ACTORES

PROCESOS
Lenguaje de programación MATLAB

INICIANDO MATLAB

Indicador de comandos en MATLAB.

>>

Se pueden recuperar comandos anteriores navegando con las flechas

Al iniciar el uso de MatLab están disponibles dos comandos de ayuda y demostración.

>>help permite obtener una ayuda sobre los diferentes comandos de MatLab.

>>demo hace una demostración de las diferentes aplicaciones de MatLab.

Para cerrar o finalizar el uso de MatLab se usa el comando quit.

>>quit

Ingreso de datos

Variable: Es la combinación de caracteres alfabéticos, numéricos y el carácter especial (_), siendo la


cantidad de 63 caracteres. Las restricciones para nombrar una variable son que esta no debe iniciar
con un carácter numérico ni el especial (_) y tampoco ser igual a una palabra reservada de Matlab.

Ejemplo:

A1, dato, F1, valor3 variables validas

Medio2 es diferente a medio2 INFORMACION


ACTORES
1p_, 3w1 variables no validas

Valor: es un dato o un conjunto de datos ordenados en filas y columnas. Por defecto toman el tipo
doublé

Tipo Bytes
Doublé 8
Int 4 PROCESOS
Char 2
logica 1

“;” : Es el fin de una instrucción o sentencia


Lenguaje de programación MATLAB
Ejemplos:
Ingrese los siguientes datos:
>> x= 7;
>> a= int16(23);
>> c=’hola mundo’; los caracteres deben estar entre apostrofes
>> m = 6>4;
La función who y whos, nos permiten ver las variables creadas hasta el momento y con sus
respectivas características que están almacenadas en el workspace.
Ejecutemos los siguientes comandos:
>> who
>>whos
>> whos a m
Tipos de datos: Los tipos de datos son de dos clases: numéricos y las cadenas de caracteres
Datos Numéricos
Numeros Reales. Matlab representa a los números reales en doble y en simple precisión.
Doble precisión: doublé
>> d = 45.78
>> whos d
INFORMACION
La función isflota nos permite verificar si el dato ingresado esACTORES
de punto flotante (decimal)
>> d1=isfloat(d)
Las funciones realmax y realmin devuelven el valor máximo y mínimo para el tipo de doble precisión
>> realmax
>> realmin
Simple precisión: single PROCESOS
>> s=single(78.012);
>> whos s
>> s1=isfloat(s)
>> realmax(´single’);
>> realminx(´single’);
Lenguaje de programación MATLAB
Números Complejos: Podemos ingresar de dos formas

Primera Forma

>> c = 7 – 15i

Segunda Forma: utilizando la función complex

>> z= complex(12,8)

Podemos obtener los valores numéricos de la parte real e imaginaria de un número ya ingresado
con las funciones real e imag y si queremos conocer su módulo y argumento en radianes
utilizaremos las funciones abs y angle.

>> zr= real (z)

>>zi= imag (z)

>> moduloz = abs (z)

>>argumentoz=angle(z)

Whos z c

Numeros Enteros

Tipo Función Rango de Valores


Entero con signo de 8 bits Int8 −27 𝑎 27 − 1

Entero con signo de 8 bits Int16 −215 𝑎 215 − 1


Entero con signo de 16 bits Int32 −232 𝑎 232 − 1
Entero con signo de 64 bits Int64 −264
ACTORES 𝑎 264 − 1 INFORMACION
Entero con signo de 8 bits Int8 0 𝑎 28 − 1
Entero con signo de 16 bits Int16 0 𝑎 216 − 1
Entero con signo de 32 bits Int32 0 𝑎 232 − 1
Entero con signo de 64 bits Int64 0 𝑎 264 − 1

Ejemplos
PROCESOS
>> x = int8(23)

>> y = int16(46)

>> w = int32(-6)

>> z = int64(157)

>> whos x y w z
Lenguaje de programación MATLAB

Si se desea verificar si un dato es de tipo entero, utilizaremos la función isinteger


>> isinteger(x)
>> isinteger(y)
Conversión de Tipo de Datos
Conocidos los tipos de datos, es posible cambiar de un tipo a otro
Ejemplos
>> a = int16(24);
>>b= double(a);
>>c = single(a);
>> whos a b c
Valores Especiales
INFORMACION
ACTORES
Matlab considera los siguientes valores especiales inf, -inf y NaN, para representar las
cantidades de infinito positivo, infinito negativo y a todos que no son un número
Ejemplos
>> X = 45^245
PROCESOS

>>X=log10(0)
>> X=0/0
Lenguaje de programación MATLAB
Cadena de Caracteres

Una cadena de caracteres se define como un ordenamiento o arreglo de caracteres UNICODE.

Para crearla al valor de la instrucción se debe encerrar entre apostrofes:

>> cadena = ‘Bienvenidos a las clases de Matlab’

>>Whos cadena

Las funciones class e ischar identifican si un dato es un arreglo de caracteres.

>> m = class(cadena)

>> n = ischar(cadena)

Se puede concatenar dos cadenas con el comando strcat


>> nombre = ´juan´;

>> apellido = ´Perez´;

>> completo = strcat (nombre,apellido);

Para crear una matriz de 2 o más filas de caracteres debemos tener en cuenta que cadena debe
tener la misma cantidad de caracteres. Se debe rellenar con espacios en blanco.

>> nombres=[‘José Carlos’, ‘Rosario ´,´Bartolomé ‘]

También se puede crear la matriz de caracteres con la función char. Esta función rellena
automáticamente con blancos a las cadenas que son de menor longitud

>> nombres= char[‘José Carlos’, ‘Rosario´,´Bartolomé‘] INFORMACION


ACTORES

Comparación de Cadenas

Función Descripción
strcmp Determina si dos cadenas son idénticas. Diferencia las mayúsculas y
minúsculas
strnmp PROCESOS
Determina si los n primeros caracteres de dos cadenas son idénticas.
Diferencia las mayúsculas y minúsculas
strcmpi Determina si dos cadenas son idénticas. No Diferencia las mayúsculas y
minúsculas
strncmpi Determina si los n primeros caracteres de dos cadenas son idénticas. No
Diferencia las mayúsculas y minúsculas
Lenguaje de programación MATLAB

Ejemplos de comparación de cadenas

>> cad_1=´masa´;

>>cad_2=´mesa´;

>>c1=strcmp(cad_1,cad_2)

Tambien podemos comparar cadenas utilizando los operadores relacionales, siempre y cuando las
cadenas tengan iguales dimensiones, o uno sea un escalar

>>A=’Rodrigo’;
INFORMACION
ACTORES
>> B=’Roberto’;

>> C= A==B

PROCESOS
Introducción
Contenido
Conclusiones
Bibliografía

Gracias