matlab … una introducción. guión l¿por qué matlab? lcomandos básicos lconstantes....

28
MATLAB … una introducción

Upload: nieve-zaragoza

Post on 23-Jan-2016

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

MATLAB

… una introducción

Page 2: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

Guión

¿Por Qué Matlab? Comandos básicos Constantes. Operaciones. Variables.

Asignar. Eliminar. Guardar. Recuperar.

Funciones. Vectores. Matrices. Gráficas.

Page 3: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

¿Por qué MATLAB?

Calidad científicaPotencia FlexibilidadFacilidad de usoInteractividadTransparenciaGráficos

Page 4: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

Comandos básicos

help, help topic

dir

diary fichero

Comentarios: %

Edición de líneas de comando

Funciones de edición de Windows

Page 5: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

Constantes

Matrices de números complejos

A = [2+3i, 4; 5-i, 2i]

Vectores, escalares, números reales.

Cadenas de caracteres

'Esto es una cadena'

Esto no es una cadena

Page 6: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

Operaciones

Suma y resta: + -

Producto, cociente y potencia: * / ^

Uso del punto: .* ./ .^

Precisión aparenteformat longformat short 1 1 3

Page 7: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

Variables

Asignara=3, b=4

Listarans whowhos

Eliminarclear b

Guardar save fichero

Recuperarload fichero

Page 8: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

Funciones

asin

acos

atan

log

help elfun

sin

cos

tan

exp

ezplot sin(x)

Page 9: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

Números Complejos

Módulo y argumentoabs(z) ---> 5angle(z)

Representación gráficacompass(z)

Forma binómicaz = 3 + 4i

Parte real e imaginariareal(z) ---> 3imag(z) ---> 4

Complejo conjugadoconj(z), z'

Page 10: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

Vectores

v = [1 9 9 8]

Valores de funciones

x = 0 : 0.01 : 1

y = sin(2*pi*x)

plot(x,y)

Normas norm(v,2)

norm(v,1)

norm(v,inf)

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Page 11: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

Operaciones

n=5;x=1:n

Transpuesta: x'2*x

¡Ojo!: x*xProd. escalar: x*x'Cuadrado: x2=x.*xsum(x2)

Matriz rango 1: x'*xGráficosplot(x,x2)plot(x2,x)plot(x,x2,'*')

Voltearfliplr(x)flipud(x')

Page 12: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

Ejercicio: 1+2+...+n

Lenguaje programación

n=5;

suma=0;

for k=1:n

suma=suma+k;

end

suma

MATLABn=5;

x=1:n;

suma=sum(x)

Ejercicio: 1p+2p+...+np

Page 13: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

Polinomios

p=[1 -1 5 0 -1] ¡De mayor a menor grado!

Valor de p en x:

polyval(p,x)

Multiplicación: conv(p,q)

División con resto: [q,r] = deconv(p,d)

p x x x x( ) 4 3 25 1

Page 14: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

Matrices

A = [1, 9; 9, 8]

eye(2)

eye(size(A))

zeros(3,4)

ones(1,10)

rand(1,10)

A'

fliplr(A)

flipud(A)

det(A)

inv(A)

rank(A)

Page 15: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

Gráficos

Vectores

Funciones de una variable Coordenadas cartesianas Coordenadas polares Ecuaciones paramétricas

Matrices

Funciones de dos variables

Page 16: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

Gráficos de vectores

x = [11 14 15 16 17];y = [695 750 705 720 690];plot(x,y,’r*:’),title('Indice general de la Bolsa de Madrid'),xlabel('Septiembre 1998')

Page 17: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

Coordenadas cartesianas

Tabla de valoresx = 0:0.1:2*pi;

y = sin(x);

plot(x,y)

label('y=sin(x)')

Orden de MATLAB fplot('sin(x)',[0 2*pi])

0 1 2 3 4 5 6-1-0.8-0.6-0.4-0.2

00.20.40.60.8

1

y=sin(x)

Page 18: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

Coordenadas polares

Diagramas de radiación de antenas

z = 0:0.1:2*pi;

r = sin(5*z);

polar(z,r)

0.25

0.5

0.75

1

30

210

60

240

90

270

120

300

150

330

180 0

Page 19: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

Ecuaciones paramétricas

Curvas de Lisajoux

t = 0:2*pi/100:2*pi;

x =sin(2*t);

y =sin(3*t);

plot(y,x)

Page 20: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

Gráficos de matrices

mesh(A)

surf(A)

contour(A)

010

2030

40

0

1020

30

400

2

4

6

8

10

Page 21: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

Funciones de dos variables

help grafxyz x = -1:0.1:1; y = x;[X,Y] = meshgrid(x,y);Z = X .* Y;surf(Z)mesh, contour, surfc

Page 22: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

Archivos.m

Contienen órdenes de MATLABSe invocan desde la ventana de órdenes, o desde

otro archivo.mSe editan y graban como ficheros ASCII.

Page 23: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

Archivos.m de Función

Empiezan por function y = nomdefun(x)

Las variables definidas no modifican las existentes en el espacio de trabajo.

Extienden las funciones de MATLAB.Permiten el paso de parámetros.

Page 24: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

La instrucción WHILE

Bucle controlado por una condición.Sintaxis:

while condición instruccionesend

Las instrucciones se repiten mientras la condición se verifique.

Page 25: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

La instrucción FOR

Bucle que se repite un número de veces.Sintaxis:

for x = array instruccionesend

Las instrucciones se ejecutan una vez para cada columna en el array.

Podemos anidar sentencias for.

Page 26: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

La instrucción IF

Bifurcación condicional.Sintaxis:

if condición instruccionesend

Las instrucciones se realizan si la condición se verifica.

Page 27: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

Operadores lógicos y relacionales

Operadores lógicos:Conjunción &Disyunción |O exclusiva xorNegación ~

Nota: ~ es [Alt] + 126

Operadores de comparación: Mayor, menor <, > Mayor o igual >=Menor o igual <=Igual = = Distinto ~=

Page 28: MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones

Archivo pfijo.mfunction a = pfijo(fun,x0,tol,maxiter)

% Aproxima por el método del punto fijo una raíz de la ecuación fun(x)=x

%cercana a x0, tomando como criterio de parada abs(fun(x)-x)<tol o la cota sobre

% el numero de iteraciones dada por maxiter.

%

% Variables de entrada:

% fun(x): función a iterar, se debe introducir con notación simbólica (eg. 'g')

% x0: estimación inicial para el proceso de iteración

% tol: tolerancia en error absoluto para la raíz

% maxiter: máximo numero de iteraciones permitidas

%

% Variables de salida:

% a: valor aproximado de la raíz

fprintf(1, 'Método del punto fijo \n');

incr=1;iter=1;

while (incr>tol) & (iter<maxiter)

a = feval(fun,x0); % Itera la función g

incr = abs(a-x0); % Calcula la variación

fprintf(1, 'iter= %i, a= %x0, incr= %e \n', iter, a, incr);

iter = iter + 1; x0 =a; % Cuenta los pasos y actualiza x0

end; % Salida