Вы находитесь на странице: 1из 43

Informtica Aplicada II

Profesor: LI. Jos Antonio Lpez Quiroz

INTRODUCCIN

Enero -2013
JALQ Introduccin a Matlab ENMSI

Informtica Aplicada II

Objetivo
Conocer los elementos bsicos de Matlab Implementar algoritmos en Matlab

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Contenido
El entorno Matlab Comandos y funciones bsicas Operaciones con matrices y vectores Generacin de grficos

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Qu es Matlab?
MATLAB = MATrix LABoratory (laboratorio de matrices) Es un software muy verstil que ofrece:
http://www.mathworks.es/products/matlab/ Un entorno de desarrollo integrado (IDE). Un lenguaje de programacin propio: lenguaje M Microsoft Windows Unix Apple Mac OS

Est disponible para los sistemas operativos:

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Qu es Matlab?
Entre sus herramientas bsicas se hallan las siguientes:
Manipulacin eficiente de matrices Representacin de datos y funciones Implementacin de algoritmos Creacin de interfaces grficas de usuario (Graphical User Interface, GUI) Comunicacin con dispositivos hardware
JALQ Introduccin a Matlab ENMSI

Informtica Aplicada II

Qu es Matlab?
Las prestaciones de MATLAB se pueden ampliar incorporando al IDE las cajas de herramientas (toolboxes), aplicaciones software que implementan funcionalidades muy diversas: Clculo tcnico Clculo numrico, anlisis, visualizacin y desarrollo de algoritmos Diseo de control Simulacin, modelizacin rpida de prototipos Procesamiento de seales digitales Anlisis de seales, diseo de sistemas DSP Sistemas de comunicaciones Diseo y simulacin de sistemas complejos de comunicaciones JALQ Introduccin a Matlab ENMSI

Informtica Aplicada II

Qu es Matlab?
Las prestaciones de MATLAB se pueden ampliar incorporando al IDE las cajas de herramientas (toolboxes), aplicaciones software que implementan funcionalidades muy diversas: Procesamiento de imgenes. Algoritmos de adquisicin, anlisis y mejora de imgenes Pruebas y mediciones. Anlisis de datos para aplicaciones de pruebas y mediciones Bioinformtica. Anlisis, visualizacin y simulacin de sistemas biolgicos Finanzas computacionales. Anlisis, simulacin y desarrollo de aplicaciones financieras

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Alternativa: OCTAVE (libre y gratuito)


www.octave.org
GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab

Modo Consola Existen algunos IDEs en desarrollo


JALQ Introduccin a Matlab ENMSI

Informtica Aplicada II

Entorno de Desarrollo (IDE) Matlab


El interprete
Permite al usuario la introduccin de instrucciones(comandos) Ejecuta (interpreta) las instrucciones introducidas y muestra los resultados de las mismas Las instrucciones pueden ser muy diversas: declaracin y asignacin de variables, operaciones aritmticas y lgicas, llamadas a funcin, etc.

El editor

Permite al usuario escribir y modificar funciones: bloques de instrucciones que reciben unas variables de entrada, las procesan, y devuelven otras de salida La estructura de un programa, en general, consta de una funcin principal, que invoca a otras

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Entorno de Desarrollo (IDE) Matlab


El depurador
Permite al usuario ejecutar instruccin a instruccin un programa, pudiendo acceder al estado de las variables empleadas por l Se utiliza para detectar y corregir erroresen la programacin

El asistente de ayuda
Proporciona al usuario informacinsobre la herramienta MATLAB (configuracin, uso, etc.), el lenguaje M (sintaxis, ejemplos de programas, etc.), y las funciones implementadas disponibles (argumentos de entrada, propsito, retornos de salida, etc.)

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Entorno de Desarrollo (IDE) Matlab Interprete

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Entorno de Desarrollo (IDE) Matlab Interprete

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Entorno de Desarrollo (IDE) Matlab

Ayuda

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Entorno de Desarrollo (IDE) Matlab

Ayuda

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Operaciones aritmticas

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Jerarqua de Operadores
1la exponenciacin, 2 los productos y divisiones, y 3 las sumas y restas Si se quiere forzar un determinado orden se deben utilizar parntesis, que siempre se evalan primero Ejemplo:
4/4+6 = 4 / (4 + 6)= 3^5*2= 3 ^ (5 * 2) = 7 0.4 486 59049
ENMSI

JALQ Introduccin a Matlab

Informtica Aplicada II

Funciones Elementales en Matlab


sqrt(x) calcula la raz cuadrada de x abs(x) devuelve el valor absoluto de x mod(x, y) devuelve el resto de dividir x entre y round(x) devuelve el nmero entero ms cercano a x (redondeo de x) floor(x) devuelve el nmero entero ms cercano e inferior a x (suelo de x) ceil(x) devuelve el nmero entero ms cercano y superior a x (techo de x)
ceil(16.7) 17 floor(16.7) 16 round(16.7) 17 mod(16,7) 2 abs(-16) 16 sqrt(16) 4

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Definicin de Variable
Una variable es una estructura de datos que permite almacenar un valor o conjunto de valores. Una variable corresponde con un rea reservada de la memoria principal del ordenador.

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Caractersticas de las Variables


Tienen asociado un nombre o identificador.
Su nombre es nico dentro de su alcance Se pueden utilizar letras, nmeros y _ No empiezan con nmero Se limitan 63 letras de longitud Sensible a maysculas y minsculas

Tienen un alcance (mbito) global o local Son de in tipo de dato concreto

Nmero, carcter, booleano, estructura, etc.


ENMSI

JALQ Introduccin a Matlab

Informtica Aplicada II

Asignar valores a Variables


Antes de usar una variable, es necesario darle algn valor. Es decir "inicializarla". La forma ms directa es mediante una sentencia de asignacin.

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Asignar valores a Variables


Cuando se ejecuta una operacin de asignacin, primero se evala la expresin del lado derecho y luego se almacena el valor resultante en la variable indicada en el lado izquierdo.

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Regla de asignacin
Una variable en el lado derecho de una sentencia de asignacin debe tener un valor antes de que la sentencia de asignacin se ejecute. Hasta que un programa le da un valor a una variable, esa variable no tiene valor.

En la izquierda de una de asignacin solo pueden existir variables. La siguiente expresin no es valida:

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Operaciones aritmticas con Variables


Ejemplos:

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Comandos sobre Variables


who: muestra una relacin de las variables que estn activas en una sesin de trabajo. whos: similar a who pero adems agrega informacin sobre tamao y memoria utilizada. clear: elimina todas las variables activas (excepto globales) clear a, b: borra las variable indicadas clear global: borra las variables globales clear functions: borra las funciones clear all: borra variables incluyendo globales y funciones.

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Comando who y whos


Ejemplo:

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Espacio de Trabajo
La ventana Workspace Browser constituye un entorno grfico para ver las variables definidas en el espacio de trabajo
Se activa a travs del men View/Workspace Haciendo doble clic en una variable aparece una nueva ventana donde poder modificar el contenido de dicha variable

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Workspace y Editor de Variables

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Guardar Workspace
Es posible guardar las variables del workspaceen un fichero para poder recuperarlas ms tarde: comandos save y load
>> savesesion.mat %guarda el workspace actual en sesion.mat >> loadsesion.mat % carga en memoria el wokspace guardado en sesion.mat

El comando diary tambin permite guardar y recuperar todas las variables utilizadas durante una sesin
>> diary sesion.txt % el workspace se guarda a partir de este punto % en sesion.txt >> >> diary off % deja de guardarse el workspace >> >>diary on % se reanuda el proceso de guardar el workspace

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Ejercicios
Cules son nombres de variables vlidos?
X_1 x1 1234b2 _XX %valor prog.cpp

Qu hace el siguiente ejemplo


>> valor = 0 >> valor = valor + 1 >> valor

Cmo se puede intercambiar el valor de 2 variables? Convierta las siguientes formulas a expresiones en Matlab

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Ejercicios
Dados cuatro valores que representan dos puntos en el plano, (x1, y1) , (x2, y2), calcula loscoeficientes (a, b, c) de la ecuacin general de la recta ax+by+c=0 que los une. El clculo de los coeficientes se realiza mediante las expresiones: a=y2y1, b=x1x2, c=y1 x2y2 x1 Convierta las siguientes frmulas a expresiones en Matlab

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Lectura/Escritura de datos desde teclado


Input: Espera a que el usuario haga una entrada por el teclado.
>> n = input( Ingresa un nmero: )

disp: Despliega mensajes o valores de variables en pantalla


>> disp(Hola mundo)
JALQ Introduccin a Matlab ENMSI

Informtica Aplicada II

Archivos de Comandos: scripts


Archivos de texto con extensin .m Contienen un conjunto de instrucciones que se ejecutan sucesivamente cuando se teclea el nombre del archivo en la lnea de comandos de MATLAB, Editor de MATLAB (o cualquier otro) Un archivo de comandos puede llamar a otros archivos de comandos. Si un archivo de comandos se llama desde de la lnea de comandos de MATLAB, las variables que crea pertenecen al espacio de trabajo base de MATLAB y permanecen en l cuando se termina la ejecucin de dicho archivo.
JALQ Introduccin a Matlab ENMSI

Informtica Aplicada II

Ejemplo - Creacin de un script


Paso 1: Abrir editor de MATLAB

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Ejemplo - Creacin de un script


Paso 2: Ingrese el cdigo del script

Las variables definidas en el script se mantienen en el espacio de trabajo


JALQ Introduccin a Matlab ENMSI

Informtica Aplicada II

Ejemplo - Creacin de un script


Paso 3: Guardar como script1.m

Por default se guardar en el Current Directory

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Ejemplo - Creacin de un script


Paso 4: Ejecutar script (opcin 1)

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Ejemplo - Creacin de un script


Paso 4: Ejecutar script (opcin 2)

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Ejemplo - Creacin de un script


Paso 4: Ejecutar script (opcin 3)

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Ruta de Trabajo
En MATLAB, las funciones/scripts se encuentran en archivos con extensin .m En principio, no todos los archivos .m almacenados en el disco duro pueden ser accesibles desde MATLAB, por ejemplo, pueden ser invocados en el interprete MATLAB tiene registrada las rutas (paths) de las carpetas/directorios en los que buscar funciones que se invocan en el interprete
JALQ Introduccin a Matlab ENMSI

Informtica Aplicada II

Ruta de Trabajo
path: muestra las rutas de trabajo registradas en MATLAB

addpath: permite aadir una o ms rutas de trabajo al path de MATLAB


>> addpath C:\Informatica\aplicada2

rmpath: elimina rutas


>> rmpath C:\Informatica\aplicada2 JALQ Introduccin a Matlab ENMSI

Informtica Aplicada II

Ruta de Trabajo
Tambin se aadir y rutas de mediante la del men Path pueden eliminar trabajo ventana File/Set

JALQ Introduccin a Matlab

ENMSI

Informtica Aplicada II

Ruta de Trabajo
Una de las rutas de trabajo es siempre la carpeta actual (Current Drectory), por ejemplo, es aquel en el que uno se encuentra cuando est usando el interprete. Para conocer y cambiar carpeta actual se emplean comandos similares a MS-DOS y Linux
pwd: muestra la ruta de la capeta actual cd.. : sube un nivel en la jerarqua de directorios cd carpeta: abre una carpeta existente en el directorio actual ls: lista el contenido de la carpeta actual
JALQ Introduccin a Matlab ENMSI

Informtica Aplicada II

Bibliografa
Alcal, Jess y Pelta, David (2011), Introduccin a Matlab, Recuperado el 28 de enero de 2013, de http://www.ugr.es/~jalcala/teaching/informat ica/ Gilat, A. Matlab: una introduccin con ejemplos prcticos, Editorial Reverte, Barcelona Espaa
JALQ Introduccin a Matlab ENMSI

Вам также может понравиться