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

Post on 28-Jan-2017

230 views 1 download

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

Practica 0: Introduccion a Matlab

Matlab es un acronimo: MATrix LABoratory

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

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)

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

>> 3 + 5∗2 + 1

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

>> 3 + 5∗2 + 1

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

>> 3 + 5∗2 + 1

ans = 14

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)

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

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

s = 17

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)

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

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

Reglas para nombrar variables

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

Reglas para nombrar variables

Existen nombres que deben evitarse: eps

Reglas para nombrar variables

Existen nombres que deben evitarse: realmax, realmin,

Reglas para nombrar variables

Existen nombres que deben evitarse: Inf, NaN

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

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

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

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

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

Vectores y matrices: vectores fila

Se pueden definir:

Escribiendo entre corchetes cada una de sus componentes sepa-

radas por espacio o coma

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)

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)

Vectores y matrices

Se pueden definir:

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

por la tecla Intro

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

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

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)

Manipulacion de matrices y vectores

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

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

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)

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)

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)

Tamano de vectores y matrices

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

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

Operaciones con matrices

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

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

M-archivos

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

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

M-archivos

Permiten ejecutar todas las ordenes que contienen en bloque

Tecleando su nombre desde la ventana de comandos

Desde el editor de Matlab

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

Archivos de funcion

Son un caso especial de M-archivos

Archivos de funcion

Son un caso especial de M-archivos

? La primera lınea debe ser

function argumentos salida=nombre funcion (argumentos entrada)

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

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)

? Las siguientes lıneas del fichero pueden contener comentarios

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

? 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.

? A continuacion, se incluyen los comandos que especifican como

obtener argumentos salida a partir de argumentos entrada

Se usan variable locales

? La funcion puede finalizarse con la instruccion

return

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)

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)

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)

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’)

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’)

>> 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

Programacion en Matlab

Bucles

>> for variable = vector

>> hacer algo

>> end

Estructuras condicionales

>> while condicion

>> hacer algo

>> end

>> if condicion

>> hace algo

>> else

>> hace otra cosa

>> end

Operadores logicos y relacionales

Permiten establecer comparaciones

< menor que

<= menor o igual

== igual

> mayor que

>= mayor o igual

˜ = no igual