Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

56
Pr´ actica 0: Introducci´on a Matlab Matlab es un acr´ onimo: MATrix LABoratory

Transcript of Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Page 1: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Practica 0: Introduccion a Matlab

Matlab es un acronimo: MATrix LABoratory

Page 2: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Practica 0: Introduccion a Matlab

Matlab es un acronimo: MATrix LABoratory

La ventana de Matlab muestra un escritorio dividido en varias partes:

Las ordenes se escriben en Command Window

Las variables utilizadas se muestran en Workspace

Todas las ordenes quedan registradas en Command History

Para explorar directorios del ordenador se usa Current Directory

Page 3: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Operaciones elementales y variables

La forma de representar numeros y de operar de Matlab es la misma

que la de las calculadoras de bolsillo

>> 3,

>> -19.63,

>> 1.62e-020 - 0.1*10(-12)

Page 4: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Para que Matlab ejecute una orden, es preciso pulsar la tecla Intro

>> 3 + 5∗2 + 1

Page 5: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Para que Matlab ejecute una orden, es preciso pulsar la tecla Intro

>> 3 + 5∗2 + 1

Page 6: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Para que Matlab ejecute una orden, es preciso pulsar la tecla Intro

>> 3 + 5∗2 + 1

ans = 14

Page 7: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Para que Matlab ejecute una orden, es preciso pulsar la tecla Intro

>> 3 + 5∗2 + 1

ans = 14

(el resultado se ha almacenado en la variable ans)

Page 8: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Para que Matlab ejecute una orden, es preciso pulsar la tecla Intro

>> s = (3+5)∗2 + 1

s = 17

Page 9: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Para que Matlab ejecute una orden, es preciso pulsar la tecla Intro

>> s = (3+5)∗2 + 1

s = 17

(el resultado se ha guardado en la variable s)

Page 10: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Para escribir comentarios, se usa %

El comando clc limpia la ventana de comandos

(esto no borra las variables que esten en uso)

Para borrar variables que esten en uso, se utiliza la orden clear

Page 11: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Reglas para nombrar variables

Como maximo 63 caracteres, que pueden ser letras, numeros y el

guion de subrayar

El primer caracter tiene que ser una letra

Las mayusculas y las minusculas tienen valor distintivo

No puede haber espacios en blanco en el nombre

Page 12: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Reglas para nombrar variables

Existen nombres que deben evitarse: ans, i, j, pi, cos, ...

Page 13: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Reglas para nombrar variables

Existen nombres que deben evitarse: eps

Page 14: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Reglas para nombrar variables

Existen nombres que deben evitarse: realmax, realmin,

Page 15: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Reglas para nombrar variables

Existen nombres que deben evitarse: Inf, NaN

Page 16: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Signos de puntuacion y movimientos del cursor

Se pueden definir varias variables en una misma lınea si se separan

por comas o mediante punto y coma (se inhibe el eco)

>> base = 2, altura = 3, area = base * altura

>> base = 5; altura = 2; area = base * altura

Si una secuencia de operaciones no cabe en una lınea, se colocan

tres puntos

Page 17: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Las teclas permiten recuperar lıneas anteriores y posteriores

a la actual y moverse a derecha e izquierda en una lınea para hacer

modificaciones

Para saber el valor actual de una variable solo hay que escribirla

y pulsar la tecla

Otra opcion es usar el comando disp

Para interrumpir calculos, se presionan simultaneamente las teclas

y

Page 18: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Formatos

Matlab trabaja siempre en doble precision, pero presenta los resultadosen distintos formatos

Por defecto usa un formato corto (format short), aunque puedenelegirse otros

>> format short e

>> format long

>> format long e

>> format rat

Page 19: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Funciones elementales

Notacion cientıfica Nombre en Matlab Significado|x| abs(x) valor absoluto de x

sen(x) sin(x) seno de xcos(x) cos(x) coseno de xtg(x) tan(x) tangente de x

arcsen(x) asin(x) arcoseno de xex exp(x) exponencial de x

ln(x),log(x) log(x) logaritmo en base e de x√x sqrt(x) raız cuadrada de x

Page 20: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Funciones elementales

Notacion cientıfica Nombre en Matlab Significado|x| abs(x) valor absoluto de x

sen(x) sin(x) seno de xcos(x) cos(x) coseno de xtg(x) tan(x) tangente de x

arcsen(x) asin(x) arcoseno de xex exp(x) exponencial de x

ln(x),log(x) log(x) logaritmo en base e de x√x sqrt(x) raız cuadrada de x

Para conocer los detalles, utilice el comando help

Page 21: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Vectores y matrices: vectores fila

Se pueden definir:

Escribiendo entre corchetes cada una de sus componentes sepa-

radas por espacio o coma

Page 22: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Vectores y matrices: vectores fila

Se pueden definir:

Escribiendo entre corchetes cada una de sus componentes sepa-

radas por espacio o coma

Especificando el valor de sus componentes (en cualquier orden)

Page 23: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Vectores y matrices: vectores fila

Se pueden definir:

Escribiendo entre corchetes cada una de sus componentes sepa-

radas por espacio o coma

Especificando el valor de sus componentes (en cualquier orden)

Mediante ordenes para casos particulares

>> v1=[4:-2:-5] (pueden omitirse los corchetes)

>> v2=[3:10] (equivale a v2=[3:1:10])

>> v3=linspace(1,11,4)

Page 24: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Vectores y matrices

Se pueden definir:

Como los vectores fila, separando las filas por un punto y coma o

por la tecla Intro

Page 25: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Vectores y matrices

Se pueden definir:

Como los vectores fila, separando las filas por un punto y coma o

por la tecla Intro

Especificando el valor de cada componente en el orden que se

desee

Page 26: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Vectores y matrices

Se pueden definir:

Como los vectores fila, separando las filas por un punto y coma o

por la tecla Intro

Especificando el valor de cada componente en el orden que se

desee

Especificando cajas que esten construidas previamente y cuyas

dimensiones sean adecuadas

Page 27: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Manipulacion de matrices y vectores

Una vez definida una matriz A o un vector v, podemos acceder a sus

elementos

>> A(i,j)

>> v(i)

Page 28: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Manipulacion de matrices y vectores

Una vez definida una matriz A, podemos acceder a sus submatrices

>> A([i1,i2,...],[j1,j2,...])

Page 29: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Manipulacion de matrices y vectores

Una vez definida una matriz A, podemos acceder a sus submatrices

>> A([i1,i2,...],[j1,j2,...])

>> A(i1:i2,j1:j2)

Page 30: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Manipulacion de matrices y vectores

Una vez definida una matriz A, podemos acceder a sus submatrices

>> A([i1,i2,...],[j1,j2,...])

>> A(i1:i2,j1:j2)

>> A(i,:)

>> A(:,j)

Page 31: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Algunas matrices especiales

matriz de ceros de dimension m x n >> zeros(m,n)matriz de unos de dimension m x n >> ones(m,n)matriz con unos en la diagonal y ceros el resto >> eye(m,n)

Cuando las matrices son cuadradas sustituir (m,n) por (n)

Page 32: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Tamano de vectores y matrices

numero de filas y columnas de la matriz A >> size(A)numero de componentes del vector v >> length(v)

Page 33: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Operaciones con vectores y matrices

Operaciones algebraicas

suma >> A + Bresta >> A - Bproducto por escalares >> r * Aproducto de matrices >> A * Bpotencias >> A n

Las dimensiones deben ser compatibles con la operacion

Page 34: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Operaciones con matrices

matriz traspuesta >> A’matriz inversa >> inv(A)determinante >> det(A)rango >> rank(A)

Page 35: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Operaciones elemento a elemento

Suma de escalar y matriz >> r + AProducto elemento a elemento >> A .* BDivision elemento a elemento >> A ./ BPotencias >> A . r, r . A, A . B

Page 36: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

M-archivos

Un archivo que contiene ordenes de Matlab se denomina un M-archivo

Page 37: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

M-archivos

Un archivo que contiene ordenes de Matlab se denomina un M-archivo

Deben tener la extension .m

Se pueden escribir utilizando el editor incluido en Matlab

Page 38: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

M-archivos

Permiten ejecutar todas las ordenes que contienen en bloque

Tecleando su nombre desde la ventana de comandos

Desde el editor de Matlab

Page 39: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

M-archivos

Permiten ejecutar todas las ordenes que contienen en bloque

Tecleando su nombre desde la ventana de comandos

Desde el editor de Matlab

Si el nombre de un archivo coincide con el de

una variable, esta ultima tiene preferencia

Page 40: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Archivos de funcion

Son un caso especial de M-archivos

Page 41: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Archivos de funcion

Son un caso especial de M-archivos

? La primera lınea debe ser

function argumentos salida=nombre funcion (argumentos entrada)

Page 42: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Archivos de funcion

Son un caso especial de M-archivos

? La primera lınea debe ser

function argumentos salida=nombre funcion (argumentos entrada)

El nombre del M-archivo debe coincidir con el de la funcion

Page 43: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Archivos de funcion

Son un caso especial de M-archivos

? La primera lınea debe ser

function argumentos salida=nombre funcion (argumentos entrada)

Si hay mas de un argumento de salida, estos deben ir entre corchetes

y separados por comas

function [a,b,c]=F(x,y)

Page 44: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

? Las siguientes lıneas del fichero pueden contener comentarios

% Aquı podemos explicar para que sirve la funcion, etc.

Page 45: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

? Las siguientes lıneas del fichero pueden contener comentarios

% Aquı podemos explicar para que sirve la funcion, etc.

Estos comentarios son visibles en Command Window mediante

>> help nombre funcion.

Page 46: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

? A continuacion, se incluyen los comandos que especifican como

obtener argumentos salida a partir de argumentos entrada

Se usan variable locales

Page 47: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

? La funcion puede finalizarse con la instruccion

return

Page 48: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Para que un M-archivo se pueda ejecutar es necesario que se cumpla

una de las dos condiciones siguientes:

Que este en el directorio actual. Este directorio es el primer sitio

en el que Matlab busca cuando desde la lınea de comandos se le

pide que ejecute un fichero.

Que este en uno de los directorios indicados en el Path (lista

ordenada de directorios en los que Matlab busca los ficheros)

Page 49: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Representaciones graficas

Si t = [t1,t2,...,tn], y=[y1,y2,...,yn] son dos vectores, entonces

>> plot(t,y)

representa en una ventana grafica los puntos de coordenadas

(t1,y1), (t2,y2),...,(tn,yn)

Page 50: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Representaciones graficas

Si t = [t1,t2,...,tn], y=[y1,y2,...,yn] son dos vectores, entonces

>> plot(t,y)

representa en una ventana grafica los puntos de coordenadas

(t1,y1), (t2,y2),...,(tn,yn)

Page 51: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Representaciones graficas

Si t = [t1,t2,...,tn], y=[y1,y2,...,yn] son dos vectores, entonces

>> plot(t,y)

representa en una ventana grafica los puntos de coordenadas

(t1,y1), (t2,y2),...,(tn,yn)

Otras posibilidades:

>> plot(t,y,’opciones’)

Page 52: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Representaciones graficas

Si t = [t1,t2,...,tn], y=[y1,y2,...,yn] son dos vectores, entonces

>> plot(t,y)

representa en una ventana grafica los puntos de coordenadas

(t1,y1), (t2,y2),...,(tn,yn)

Otras posibilidades:

>> plot(t,y,’opciones’ , u,v , x,f,’otrasopciones’)

Page 53: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

>> hold on Activa la orden hold (desde ese momento todos los

nuevos graficos se anaden a la ultima ventana abierta)

>> hold off Desactiva la orden hold (por defecto)

>> figure(n) Selecciona la ventana grafica n como ventana activa

Page 54: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Programacion en Matlab

Bucles

>> for variable = vector

>> hacer algo

>> end

Page 55: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Estructuras condicionales

>> while condicion

>> hacer algo

>> end

>> if condicion

>> hace algo

>> else

>> hace otra cosa

>> end

Page 56: Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix ...

Operadores logicos y relacionales

Permiten establecer comparaciones

< menor que

<= menor o igual

== igual

> mayor que

>= mayor o igual

˜ = no igual