Anda di halaman 1dari 52

INSTITUTO DE BIOELECTRNICA

Prof. Dr. Fernando Martnez Corvaln FACULTAD DE MEDICINA


UNIVERSIDAD NACIONAL DE TUCUMN

Ctedra: Tcnicas y Herramientas de Computacin


Jefe de Trabajos Prcticos: Mg. Ing. Juan D. Salinas
Octubre de 2011

TEMA: Introduccin al uso de Matlab:

Qu es Matlab?
MATLAB es el nombre abreviado de MATrix LABoratory. Es un programa comercial desarrollado con el objeto de disponer en un slo ambiente de herramientas para realizar con vectores y matrices, clculos numricos, programacin y grficos. El mismo fue desarrollado por The MathWorks, Inc. de Estados Unidos a partir de 1984.

Caractersticas del Matlab


Desde el punto de vista del usuario, tenemos:

Un lenguaje de programacin en MATLAB como herramienta de alto nivel para desarrollar aplicaciones tcnicas y cientficas. Alta capacidad de realizar una amplia variedad de grficos en dos y tres dimensiones. Un entorno de trabajo en MATLAB muy grfico e intuitivo, similar al de otras aplicaciones profesionales de Windows.

Qu se puede hacer con Matlab?


Analizar datos. Programar con lenguaje simple y fcilmente asimilable; Generar grficos en dos y tres dimensiones. Realizar diversas operaciones matriciales. Efectuar operaciones con polinomios y funciones de

transferencia. Resolver sistemas de ecuaciones lineales y ecuaciones diferenciales. Crear y definir por el usuario, funciones propias. Crear y utilizar conjuntos de funciones destinadas a aplicaciones especficas denominados Toolboxes, por ejemplo: Control, Optimizacin, Redes Neuronales, etc.

Matlab Desktop

Carpetas de trabajo
Al arrancar, Matlab tiene definido un subdirectorio (o carpeta) preferencial, actual o por defecto. Para saber el nombre de esta carpeta, se da la orden: cd pwd La respuesta de Matlab puede ser: ans = C:\WINDOWS\Escritorio
Para decir a Matlab que cambie la carpeta por defecto, se usa la orden chdir, por ejemplo, chdir 'c:\Problemas Matlab\'

Constantes predefinidas

Funciones elementales

Operadores bsicos para escalares

Objetos y sintaxis

Es posible escribir varias instrucciones en la misma lnea, separndolas por una coma o por punto y coma.
Lo que se escribe en cualquier lnea detrs de % es considerado como comentario Matlab distingue entre maysculas y minsculas: %nan NO ES LO MISMO QUE %Nan

Tipos de datos
El componente bsico es una matriz.
Matriz: (m x n) - un conjunto de nmeros ordenados en filas (m) y columnas (n). Escalar: matriz de 1 x 1. Vector fila: matriz de 1 x n Vector columna: matriz de m x 1

Definicin de Variables I
1. El nombre debe comenzar por una letra y no por un nmero 2. No deben existir espacios entre las letras del nombre. 3. No deben poseer caracteres especiales, excepto el underline ( _ ) la cual se toma como sub. 4. A semejanza de C, MATLAB distingue entre maysculas y minsculas en los nombres de variables.

Definicin de Variables II
5. El nombre debe ser mnemotcnico, es decir que tenga relacin con su contenido.

6. Se sugiere que el nombre no exceda 8 caracteres pero


puede contener hasta 21. 7. No se deben utilizar palabras o funciones reservadas del

programa, por ejemplo, si usa >> pi = 8, el nuevo valor de


la constante ser 8 y no el definido por el programa. Las reglas de la 1 a la 4 son obligatorias, las otras son sugerencias que facilitan el uso del programa.

Uso como calculadora

Comandos tiles
pwd: (print working directory) Devuelve el nombre y path del directorio actual clc: Limpia la ventana de comandos who: lista las variables actuales whos: como el anterior, pero ms detallado clear: elimina todas las variables que existan en ese momento clear a b c: elimina las variables a, b y c (atencin: sin comas!) clf: borra imagen de ventana Exit quit: salir de Matlabb help help + funcin: libreras de ayuda

Gestin de archivos

Formatos I
Matlab siempre calcula con doble precisin, es decir con unas 16 cifras decimales equivalentes.

Formatos II

Bank: nmeros con dos cifras decimales. Rational: cocientes de enteros.

get(0,'format'): View the current format

Formatos III

Matrices I
Las matrices bidimensionales de nmeros reales o complejos son los objetos bsicos con los que trabaja Matlab. Los vectores y escalares son casos particulares de matrices.

Matrices II
Ejemplo: -->A=rand(4,4) % Se almacena en A una matriz 4x4 de nmeros aleatorios

Operadores matemticos para matrices

Vectores

Construccin de Arreglos I
Vectores incrementales

x=(inicio : intervalo : fin) >> x=1:1.5:10 x= 1.0000 2.5000 4.0000 5.5000 7.0000 8.5000 10.0000

>> x=10: -1: 1 x= 10 9 8 7 6 5 4 3 2 1

Construccin de Arreglos II

x=Linspace (valor_inicial, valor_final, nmero_de_valores)

Operadores I
El operador es un smbolo o palabra que permite formular operaciones, establecer relaciones y hacer comparaciones de tipo lgico matemtico entre datos. Se dividen principalmente en tres tipos: 1. Operadores Aritmticos 2. Operadores Relacionales

3. Operadores Lgicos

Operadores matemticos para vectores I

Operadores matemticos para vectores II


(Elemento a elemento)
En MATLAB existe tambin la posibilidad de aplicar elemento a elemento los operadores matriciales (*, ^, \ y /). Para ello basta precederlos por un punto (.). Por ejemplo:

>> [1 2 3 4]^2 ??? Error using ==> ^ Matrix must be square.

>> [1 2 3 4].^2 ans = 1 4 9 16

Operadores matemticos para vectores III


Operadores relacionales El lenguaje de programacin de MATLAB dispone de los siguientes operadores relacionales: < menor que > mayor que <= menor o igual que >= mayor o igual que == igual que ~= distinto que

Operadores matemticos para vectores IV

Orden de precedencia

Mtodos numricos

Polinomios I
Algunas funciones para la manipulacin de polinomios interesantes son: poly Genera un vector de coeficientes dado un vector de races roots Encuentra las races de un polinomio polyval Obtiene el valor del polinomio dado un punto conv Obtiene los coeficientes producto de dos polinomios

Polinomios II
Clculo de races de un polinomio:

Polinomios III
Evaluacin del polinomio en un punto:

Derivada de un polinomio:

Scripts
Un script es un conjunto de instrucciones guardadas en un fichero (usualmente de texto) que contienen una sucesin de comandos anloga a la que se tecleara en el uso interactivo del programaque. Son tiles para automatizar pequeas tareas.

Los scripts de Matlab tienen el sufijo .m


En los ficheros de comandos conviene poner los puntos y coma (;) al final de cada sentencia, para evitar una salida de resultados demasiado cuantiosa.

Funciones I
Solucin numrica de ecuaciones no lineales
Encontrar las races reales de la ecuacin:
y 1 ( x 0.3) 0.01
2

1 ( x 0.9) 0.04
2

En MATLAB existen funciones a las que hay que pasar como argumento el nombre de otras funciones, para que puedan ser llamadas desde dicha funcin. Las referencias de funcin (function handles) constituyen un mecanismo pera referirse a un nombre de funcin. Para crearlas, se usa el Editor de Matlab.

Funciones II
Solucin numrica de ecuaciones no lineales

Funcin fzero:
Calcula uno o varios ceros de una funcin de una variable, mediante el uso de la referencia de funcin @

Nota: -0.5y 2 son puntos de partida para buscar las races (son estimados a partir de observar la grfica de la funcin prueba).

Funciones III
Solucin numrica de sistemas de ecuaciones no lineales

Funcin: fsolve Encontrar la solucin del sistema de ecuaciones:

Funciones IV
a) Encontrar las races reales de la ecuacin: y
x x 6
2

Solucin de ecuaciones no lineales 2 2 ( x0.3) 0.01 ( x0.9) 0.04 Funcin: solve (til para clculos simblicos)

b) Encontrar los puntos P1 y P2 de la interseccin de la curvas:

y y

2x 3x 5 x x 7
2

P1(2,9) P2(-6,49)

Funciones V
Solucin de ecuaciones no lineales

Funcin: solve

Tambin se puede efectuar:

Clculos numricos
Integral de una funcin:

Grficas 2D en Matlab (I)

La visualizacin de una funcin simblica puede lograrse de forma sencilla con el comando ezplot.
Sin embargo, plot permite modificar el color, la apariencia de las curvas, etc.

Grficas 2D en Matlab (II)


FUNCIN EZPLOT( ): Es una funcin de dibujo simplificada, til cuando se quiere obtener de forma muy rpida la grfica de una funcin. En su forma ms simple, se puede llamar en la forma: >> ezplot(f); Por defecto la funcin se dibuja en el intervalo [2 x 2]. Si se desea dibujar f en un intervalo diferente: >> ezplot(f,[a,b]);

Grficas 2D en Matlab (III)

Grficas 2D en Matlab (IV)

Grficas 2D en Matlab (V)


Grficas simultneas: se pueden utilizar 3 codificaciones con plot(x):

Grficas 2D en Matlab (VI)


Grficas simultneas:

>> x=0:pi/25:6*pi; >> y=sin(x); z=cos(x); >> plot(x,y,x,z) >> grid % agrega retcula

Grficas 2D en Matlab (VII)


Aadir Lneas a un grfico ya existente:
Existe la posibilidad de aadir lneas a un grfico ya existente, sin destruirlo o sin abrir una nueva ventana. Se utilizan para ello los

comandos hold on y hold off. El primero de ellos hace que los


grficos sucesivos respeten los que ya se han dibujado en la figura (es posible que haya que modificar la escala de los ejes); el comando hold off deshace el efecto de hold on.

Grficas 2D en Matlab (VIII)


Uso del comando Hold y diferentes colores, leyendas y escalado:
>> x = 0: pi/25 : 6*pi; >> y = sin(x); >> plot (x,y,g) >> hold on >> z = cos(x); >> plot (x,z,m+) >> axis ( [5 15 -2 2 ] ); >> text (xo,yo,sin(x)) >> xlabel (x); ylabel (`y) >> title ( Ondas sinusoidales)
NOTA: a) El argumento m+ indica trazo en magenta y marcas con + b) El comando axis, define el escalado: [xmn xmx ymn ymx] c) x0 y0 son coordenadas para ubicar el texto en la grfica. d) xlabel ylabel, rotulan los ejes respectivos.

Grficas 2D en Matlab (IX)


Remarcado del eje x: >> hold on >> y0 = zeros(1, length(x)); >> plot(x,y0,r)

Anda mungkin juga menyukai