diapositivas matlab

42
Profesor : Ing. Gregorio García Peña Responsable : Ibañez Villarreal Zucety Stephanie Febrero, 2011

Upload: zucety-ibanez-villarreal

Post on 16-Jun-2015

1.663 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diapositivas matlab

Profesor: Ing. Gregorio García PeñaResponsable : Ibañez Villarreal Zucety Stephanie

Febrero, 2011

Page 2: Diapositivas matlab
Page 3: Diapositivas matlab

¿QUÉ ES MATLAB?

Page 4: Diapositivas matlab

El Matlab incluye un editor de archivos M, orientado a la programación sobre este software. Si opta por otro editor, se debe vigilar siempre, que los archivos escritos se guarden con esta extensión. De acuerdo a cómo se definan, estos archivos pueden separarse en dos tipos:Archivos de comandosFunciones

Page 5: Diapositivas matlab

Archivos de comandosLos archivos de comandos son

simplemente archivos M que

contienen instrucciones de MATLAB,

que una vez editados, se los guarda

con algún nombre en algún

directorio, que se encuentre dentro

del path de búsqueda del MATLAB.

Por efecto, la carpeta de trabajo es

el directorio work, que se encuentra

dentro de la carpeta de instalación

del MATLAB.para cambiar el

directorio o carpeta de trabajo, asi

comc agregar nuevas carpetas de

biblioteca, se debe usar el path

browser,o el set path.

Page 6: Diapositivas matlab

El path browser se encuentra dentro de la carpeta de instalación que trae el MATLAB incluído.

Para convocar los archivos escritos, solo se debe escribir el nombre del archivo guardado en la ventana de comandos, y las instrucciones que hayan sido escritas, serán ejecutadas.

Page 7: Diapositivas matlab

¡IMPORTANTE!

Todas las variables que se hayan creado dentro de este

archivo, luego de su ejecución, pasarían a formar parte de

nuestro ESPACIO DE TRABAJO o WORKSPACE. Se debe tratar

de que las variables del WORKSPACE, no coincidan con

las que aparecen con los archivos M que se han de

ejecutar

Page 8: Diapositivas matlab

Se utilizará “Hola mundo”. Primeramente, abrimos un documento de texto, ya sea desde el editor de archivos M que incluya el MATLAP o desde cualquier otro que nos permita editar el ASCII, en él escribimos la siguiente línea:disp(“Hola mundo”)

La función disp muestra en la ventana de comandos el string que se le envía como comando.

Guardamos ahora el documento como Saludar.m o el nombre que se desee, con su extensión m.

Ejemplo

Page 9: Diapositivas matlab

Ahora ingrese el nombre del archivo guardado en la ventana de comandos, sin la extensión .m esta vez para el ejemplo de arriba.>>saludarHola mundo

Este es un ejemplo bastante simple y claro que es lo que hace un archivo de comandos cuando es llamado.

Page 10: Diapositivas matlab

•Funciones Una función es un archivo M similar al

archivo M de comandos, con una diferencia en su definición. La primera línea de un función posee la siguiente estructura:function[argumentos_salida] - nombre[argumentos_entrada]

Nombre corresponde al nombre de la función

Argumentos_salida representa una lista de elementos del retorno de la función.

Argumentos_entrada son los parámetros que recibe la función para poder realizar su proceso.

Page 11: Diapositivas matlab

¡IMPORTANTE!

El nombre de la función debe coincidir con el nombre del archivo M con el cual se le

guarda. De no ser esto, podrían existir errores de directorio y/o ejecución.

Page 12: Diapositivas matlab

Dado el script llamado cuadrado.m:% este es un script que eleva un número al cuadradonro = input('Ingrese un número positivo:');nro = nro * nro;disp('El número ingresado elevado al cuadrado es: ');disp(nro);Y cuando escribimos en el Workspace:>> help cuadradoeste es un script que eleva un número al cuadrado

EJEMPLO

Page 13: Diapositivas matlab

Toolboxes de MATLAB

Page 14: Diapositivas matlab
Page 15: Diapositivas matlab
Page 16: Diapositivas matlab

EL ESPACIO DE TRABAJO DE MATLAB

Page 17: Diapositivas matlab

¿CÓMO FUNCIONA MATLAB?

La elaboración de un programa para Matlab es muy sencilla. Basta abrir un documento de texto (se puede hacer con cualquier editor, Matlab trae uno incorporado), escribir las instrucciones tal como se pondrían en la ventana de comandos y guardar el documento con la extensión .m (por ejemplo: miprog.m). Matlab reconoce automáticamente los ficheros que tienen extensión .m

Page 18: Diapositivas matlab

Control de flujo

Al proceso de toma de decisiones se le llama control del flujo

Antes de ponerse a escribir el programa, sobre todo si es un poco largo o complejo, es útil trazar un esquema, en lenguaje corriente, de lo que se quiere hacer. A eso se le denomina un diagrama de flujo. Si lo que se pretende está claro, escribir el programa se reduce a traducir el diagrama de flujo del castellano al lenguaje de Matlab.

Page 19: Diapositivas matlab

Por ejemplo:

Page 20: Diapositivas matlab

Inicio de MATLAB  MATLAB se inicia directamente desde

Windows. Al invocarse MATLAB aparecerá la pantalla de

comandos, algunas sugerencias y el símbolo >> , el cual indica la entrada de instrucciones para ser evaluadas. >> 

>> Comando o instrucción a evaluar < enter > Para hacer la suma de dos números,

escribimos : >> 5 + 5 < enter > Presionamos la tecla entrar.ans =10

El resultado es desplegado y se guarda en la variable ans (answer).

Page 21: Diapositivas matlab

MATLAB puede almacenar información en variables tales como :a = 100 " <Ctrl> <ENTER> para evaluar la celda "

Cada vez que capturamos información en MATLAB y presionamos <ENTER> ésta es desplegada inmediatamente ( letras en color azul ), pero si ponemos un punto y coma al final de la instrucción MATLAB omite el desplegado de información. Por ejemplo :b = 50;

Si se quiere saber el valor de alguna variable capturada sólo se tiene que poner el nombre de la variable y <ENTER> y MATLAB lo despliega. Estas variables residen en el espacio de trabajo de MATLAB.b

Page 22: Diapositivas matlab

¿Cómo accedemos al editor?

•Desde el Workspace: >> edit;

•Desde el menú File / New /

M-

file.

Page 23: Diapositivas matlab

¿Cómo se ejecuta un script?

Sencillamente se debe introducir su nombre en la línea de comandos o mediante el editor. El script contiene definición de funciones o conjuntos de comandos y permite crear y modificar estos archivos.

Page 24: Diapositivas matlab

HELP Y HELPWIN Si quieres conocer el funcionamiento de

una determinada herramienta teclea>>help “nombre del comando”

Ejemplo:>> help mean %Te indica como funciona mean, que calcula la media de una matriz

Un resultado análogo encontrarás al teclear helpwin, en el que se te mostrará la ayuda en una ventana separada y en un formato más estético.

>> helpwin mean

Page 25: Diapositivas matlab

FUNCIONES DE ENTRADA Y SALIDA Input: Esta función permite imprimir un mensaje en la

línea de comandos de Matlab yrecuperar como valor de retorno un valor numérico o el resultado de una expresióntecleada por el usuario.Ejemplo: n = input('Ingrese un número: ')

Disp: Esta función permite imprimir en pantalla un mensaje de texto o el valor de una

matriz, pero sin imprimir su nombre. En realidad, disp siempre imprime vectores y/omatrices: las cadenas de caracteres son un caso particular de vectores.Ejemplo: disp ('El programa ha terminado')

Page 26: Diapositivas matlab

Caja de herramientas y paquetes de bloques del

MATLAB

Page 27: Diapositivas matlab

MATEMÁTICA SENCILLA Matlab ofrece la posibilidad de

realizar las siguientes operaciones matemáticas:

OPERACIÓN SÍMBOLO EXPRESION MATLAB

Suma + a+b

Resta - a-b

Multiplicación * a*b

División / a/b

Potencia ^ a^b

Page 28: Diapositivas matlab

VARIABLES EMPLEADASVARIABLE DEFINICIÓN DE VARIABLE VALOR

Ans Variable usada por defecto para almacenar el último resultado

? ? ?

Pi Razón de una circunferencia a su diámetro

3.1416

Eps Número más pequeño, tal que cuando se le suma 1, crea un

número en coma flotante en el computador mayor que 1

2.2204e-016

Inf Infinito Inf

Nan Magnitud no numérica NaN

i y j i = j = −1 0 + 1.0000i

Realmin El número real positivo más pequeño que es utilizable

2.2251e-308

realmax El número real positivo más grande que es utilizable

1.7977e+308

Page 29: Diapositivas matlab

ALGUNAS OPERACIONES MÁS

FUNCIÓN

¿QUÉ HACE?

abs (x) valor absoluto o magnitud de un número complejo

sign (x) signo del argumento si x es un valor real(-1 si es negativo, 0 si es cero, 1 si es positivo)

exp (x) exponencial

gcd (m,n)

Máximo común divisor

lcm (m,n)

Minimo común múltiplo

log (x) logaritmo neperiano o natural

log2 (x) logaritmo en base 2

log10 (x)

logaritmo decimal

mod(x,y)

módulo después de la división

rem (x,y)

módulo después de la división

sqrt (x) raíz cuadrada

nthroot (x,n)

raíz n-ésima de x

Page 30: Diapositivas matlab

VECTORES Y MATRICES Para crear un vector introducimos los valores deseados

separados por espacios (o comas) todo ello

entre corchetes []. Si lo que queremos es crear una matriz lo hacemos de forma análoga pero

separando las filas con puntos y comas (;).

Generalmente usaremos letras mayúsculas cuando nombremos a las matrices y minúsculas para

vectores y escalares. Esto no es imprescindible y Matlab no lo exige, pero resulta útil.

Ejemplos: >> x = [5 7 -2 4 -6] % es un vector, los elementos los

separamos con espaciosx =

5 7 -2 4 -6

Page 31: Diapositivas matlab

>> y = [2,1,3,7] % es otro vector, los elementos los separamos con comasy =2 1 3 7

>> z = [0 1 2,3 4,5] % es otro vector, da igual separar los elementos por comas o espaciosz =0 1 2 3 4 5

>> A = [1 2 3; 4 5 6] % es una matriz con 2 filas y 3 columnasA =1 2 34 5 6

Page 32: Diapositivas matlab

CONSTRUCCIÓN DE ALGUNAS MATRICES

Al igual que pasa con los vectores, existen unas sentencias que nos ayudan a crear más rápidamentealgunas matrices que Matlab ya tiene predefinidas (m y n deben tomar valores naturales):zeros (n) crea una matriz cuadrada n x n de

ceros.zeros (m,n) crea una matriz m x n de ceros.ones (n) crea una matriz cuadrada n x n de unos.ones (m,n) crea una matriz m x n de unos.

Page 33: Diapositivas matlab

rand (n) crea una matriz cuadrada n x n de números aleatorios con distribución uniforme (0,1).

rand (m,n) crea una matriz m x n de números aleatorios con distribución uniforme (0,1).

randn (n) crea una matriz cuadrada n x n de números aleatorios con distribución normal (0,1)

randn (m,n) crea una matriz m x n de números aleatorios con distribución normal (0,1).

eye (n) crea una matriz cuadrada n x n de unos en la diagonal y ceros el resto.

eye (m,n) crea una matriz m x n de unos en la diagonal y ceros el resto.

Page 34: Diapositivas matlab

magic (n) crea una matriz cuadrada n x n de enteros de modo que sumen lo mismo las filas y lascolumnas.

hilb (n) crea una matriz cuadrada n x n de Hilbert, es decir, los elementos (i,j) responden a laexpresión (1/(i+j-1)).

invhilb (n) crea una matriz cuadrada n x n que es la inversa de la matriz de Hilbert.

Page 35: Diapositivas matlab

ALMACENAR Y RECUPERAR DATOS

Matlab permite guardar y cargar datos de los archivos del computador. En el menú File, la opción

Save Workspace as… guarda todas las variables actuales y Import Data… carga variables de unespacio de trabajo guardado previamente.

Otra forma sería guardar el estado de una sesión de trabajo con el comando save antes de salir:>> save

Al teclear esto, automáticamente se crea un fichero llamado matlab.mat. Puede recuperarse la

siguiente vez que se arranque el programa con el comando load:>> load

Page 36: Diapositivas matlab

COMENTARIOS

Mediante estos, se pueden hacer más legibles el código fuente, estructurado, y mantenible. Los comentarios se introducen con el símbolo “%”. Cuando un símbolo aparece, todo lo que sigue a partir de él hasta el final de la línea se considera como un comentario.

Page 37: Diapositivas matlab

REPRESENTACIONES GRÁFICAS EN MATLAB

Existe la función fplot que evalúa la función que se desea representar en la gráfica de salida. Como entrada, necesita conocer el nombre de la función como una cadena de caracteres y el rango de representación como un vector de dos elementos: fplot ('nombre', [ valor min, valor max] ).

Page 38: Diapositivas matlab

Ejemplo:>> fplot ('sin', [-3*pi,3*pi] )

Page 39: Diapositivas matlab

•Más gráficas

>> x = [-2 0 2 0 -2]; y = [4 8 4 0 4];

>> fill (x,y,'r') % dibuja el polígono, 'r' indica el color rojo.

Page 40: Diapositivas matlab

•Gráficos en línea:

Page 41: Diapositivas matlab

•Superficie de malla:

Page 42: Diapositivas matlab

•Gráfica de superficie: