Você está na página 1de 54

Introducci on a MATLAB

Departamento Matem atica Aplicada


Universidad de M alaga

Curso 2012-2013

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 1

Fundamentos

Matlab es un lenguaje de programaci on implementado por The MathWorks, Inc. y disponible en multitud de entornos: Windows, Unix,. . . Matlab est a especializado en C alculo Cient co. Integra an alisis num erico, computaci on matricial, procesamiento de se nales y un entorno gr aco que permite expresar de forma matem atica multitud de problemas. Matlab proviene de MATrix LABoratory. Se desarrolla para proporcionar f acil acceso a matrices en los proyectos EISPACK y LINPACK.

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 2

Ventana de Comandos

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 3

Editor de textos

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 4

Ventanas

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 5

Caracter sticas
Matlab proporciona al usuario: Gesti on din amica de la estructura de datos matriz rectangular. Un conjunto de comandos, funciones y rutinas gr acas muy f aciles de usar. La extensibilidad es una de las caracter sticas m as importantes. Matlab crece constantemente gracias a multitud de matem aticos, ingenieros,... que contribuyen a ampliar las capacidades del lenguaje. Herramientas que permiten desarrollar y personalizar las rutinas num ericas. Existen otros lenguajes similares con software libre: SCILAB, OCTAVE, MAXIMA,. . . Tambi en debemos destacar: MATHEMATICA, R, GAUSS, DERIVE,...
Departamento Matem atica Aplicada Introducci on a MATLAB P ag. 6

Variables
Matlab distingue entre may usculas y min usculas: Total y TOTAL son variables distintas. Matlab tiene las siguientes variables predenidas:
ans: Variable que almacena el u ltimo resultado. de la m aquina, o cota superior del error relativo de eps: Epsilon redondeo al expresar un n umero real en aritm etica de punto otante. pi: El n umero . inf, NaN: Innito y Not a Number. i, j: N umero imaginario 1. CUIDADO: Puede cambiarse. Las variables pueden ser borradas con el comando clear: clear (borra todas las variables del espacio de trabajo). clear variable1,variable2,. . . (borra las variables indicadas). clear all (borra variable, funciones, breakpoints y otros.
Departamento Matem atica Aplicada Introducci on a MATLAB P ag. 7

Variables 2
La variable b asica de Matlab es la matriz. Un n umero real ser a una matriz 1 1. Aunque existe la variable cadena (a=qwerty) y dispone de funciones para estas variables. La matrices Matlab, pueden ser de 3 tipos: enteras, reales o complejas. La conversi on entre tipos es transparente al usuario. Los c alculos se hacen con la m axima precisi on (16 d gitos), pero la salida por pantalla puede realizarse con: formato corto (formato por defecto) format short formato largo (long) format long formato racional (rat) format rat formato cient co corto (short e) cient co largo (long e) El formato compacto (format compact) evita lineas en blanco. El cambio de formato puede hacerse mediante la ventana de comandos.
Departamento Matem atica Aplicada Introducci on a MATLAB P ag. 8

Complejos

Una matriz ser a compleja si lo es alg un elemento: Ejemplo Introducir A = [1, 3, 5] + i [2, 4, 6], o bien A = [1 + 2 i , 3 + 4 i , 5 + 6 i ] Autom aticamente una matriz ser a compleja si el resultado de un c alculo da un n umero complejo: Ejemplo Introducir B = [log (4), 2, sqrt (2)]

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 9

Caracter sticas b asicas 2

Ayudas en MATLAB: help: Lista todas las toolboxes existentes. help sort: Ayuda sobre el comando sort (ordenar). who: Lista las variables denidas. whos: Lista las variables denidas, espacio ocupado, tipo, . . . quit: Salir de Matlab. info, computer, ver, version dan informaci on sobre Matlab, el ordenador en el que est as trabajando, y las versiones de Matlab y las toolboxes que est as ejecutando. clc: Limpia la ventana de comandos.

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 10

Gesti on del entorno

El sistema operativo path En la versi on de Matlab para Windows, puede modicarse el camino de b usqueda de un comando en disco. dir, type, cd, . . . igual signicado que en MS-DOS. quit abandonar Matlab. Ejemplo A nadir un directorio al path de b usqueda de Matlab. >> p = path; path(p, a : );

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 11

Diarios
Podemos tener un registro de las ordenes ejecutadas en una sesi on de Matlab y las salidas efectuadas por pantalla. diary nombre de chero hace que toda la informaci on que aparezca en la pantalla, se env e al da al chero. diary o/on permitir a enviar o no los resultados.
Ejemplo Crear un diario con las o rdenes y los resultados de un ejercicio. >> diary ejer 1.txt, % Env a a ejer1.txt en directorio actual. >> ..., ..., % ordenes que ir an al diario llamado ejer1.txt >> diary o >> ..., ..., % las ordenes entre diary o >> diary on % y diary on no aparecer an en el diario >> diary c : \examen\ejer 2.txt >> ..., % ordenes que ir an al diario llamado ejer2.txt

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 12

Sentencias de asignaci on

Una instrucci on de este tipo es de la forma: variable=expresi on Si terminamos la instrucci on con el s mbolo ; el resultado se calcular a pero no ser a mostrado en pantalla, lo que acelerar a muchos los c alculos. Varias instrucciones pueden situarse en la misma l nea separadas por comas o por puntos y comas. Ejemplo A=3*B; C=2*A+3*B,D=A+B-C; Se calcular an A, C y D pero s olo se mostrar a el resultado de C.

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 13

Operadores l ogicos, predicados


Las constante l ogicas vienen dadas por 0 (que indica falso) y 1 (que indica cierto). Los operadores relacionales <, <=, >, >=, ==, = operan elemento a elemento en el caso de matrices, as como las conectivas l ogicas &, |, y , respectivamente and, or (ALT+1) y not (ALT+4). Ejemplo Si x=[2, 3, 4, 1, 1,-2, 3] e y=[2, 2, 0, 2, 1, 1, -1] >> z = (x < 3) produce z=[1,0,0,1,1,1,0] >> u = (x == y) produce u=[1,0,0,0,1,0,0] >> w = (z&u) | ( z& u) produce w=[1,1,1,0,1,0,1] >> C = (A = B) produce una matriz C con 1 donde sean distintos aij y bij .

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 14

Introducci on de una matriz


1) Introducci on expl cita de sus elementos: El comienzo y nal de la matriz se indica mediante corchetes. Los datos se introducen por las, separadas por espacios en blanco (uno o varios) o comas. Las las se separan mediante punto y coma (;) o mediante la tecla INTRO. Para introducir l neas largas se usan los puntos suspensivos(...), al nal de la l nea. Ejemplo 1 0 1 Para introducir la matriz A = 2 1 1 daremos en 1 2 0 Matlab el siguiente comando: >> A = [1, 0, 1; 2, 1, 1; 1, 2, 0]
Departamento Matem atica Aplicada Introducci on a MATLAB P ag. 15

Introducci on de una matriz-2

Las matrices pueden crearse a partir de expresiones Matlab tal y como aparece en las siguientes expresiones. Ejemplo >> B = 3 A + A2, C = [A B ; B zeros (A)] B = inv (D ) (L + R )

Es recomendable usar par entesis que clariquen las expresiones. Ejemplo Si x=[2,5;7,0] y queremos calcular y = 1 deberemos 2 + x2 introducir en Matlab: >> y = 1/(2 + x.2)

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 16

Introducci on de una matriz-3

Puede cargarse desde un chero de texto de nombre matriz.m que contiene la l nea: A = [1, 0, 1; 2, 1, 1; 1, 2, 0]. La introducci on de la instrucci on: >> matriz produce el mismo resultado que si la lo hacemos directamente en el int erprete Matlab. Podemos guardar la matriz mediante >> save matriz y posteriormente recuperarla mediante: >> load matriz

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 17

Vectores

Por enumeraci on de sus elementos. Usando la notaci on rango: Valor Inicial : paso : Valor Final A partir de otros u otra operaci on que produzca un vector: y = 3 x + sin(2 pi /5) Ejemplo >> x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >> y = 1 : 10 >> z = 1 : 2 : 10 >> u = x + sin(y) >> v = linspace(0, 5, 12) >> w = di (x)

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 18

Ejercicio
Calcula lo que devuelve: >> A = [1; 2; 3] >> B = [1; 2; 3]; >> C = [1; 2, 3] >> D = [1, 2; 3, 4] >> E = [1; 2; [3; 4]] >> F = [1 : 9; [1 : 9].2] Dado v=[1 2 3] y w=[4 5 6] qu e devuelve: >> x = [v; w; 0 3 1] Qu e instrucci on debemos teclear para obtener: v=[2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 . . . 4.8 4.9 5]?

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 19

Operaciones con matrices

A+B, A-B, A*B, p*A (p un escalar) son la suma, resta, producto de matrices y matriz por escalar. Devuelve un error si las matrices no tiene dimensi on compatible. A \ b, A/b realizan la divisi on directa y divisi on inversa respectivamente de matrices, esto es, A1 b y A b 1 . Es importante que x = A \ b nos da la soluci on del sistema: A*x=b, mientras que X=A/B nos da X = A B 1 soluci on a X*B=A. Cuidado: Si el sistema es imposible da la soluci on m nimos cuadrados. A p (p un escalar) devuelve la potencia p- esima de A. Si p es natural mayor que 1 se calcula por productos sucesivos. Si no se calcula por autovalores y autovectores.

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 20

Ejercicios
1 2 3 Dadas las matrices A= 4 5 6 , B=[1 2 3] y 7 8 9 1 3 3 C = 4 7 6 7 0 2 Calcular: D=A+B, E=2A-5C, A3 , A5 , A = A1/2 . Inversa de A mediante inv(A) y como A1 . La soluci on de Ax=b. La soluci on de AX=C. F = (3A 5C )1 B

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 21

Ejercicios

Indica la instrucci on que queremos el debemos ejecutar, si resolver 1 2 3 x1 366 4 5 6 * x2 = 804 sistema Ax=b? 7 8 9 x3 351 Y Para resolver x A = b Qu e instrucci on ser a la correcta? Soluci on a) x = A\b, o bien x = inv(A) b b) x = b/A, o bien x = b inv(A) NOTA: En el segundo caso b debe ser un vector 1 3 o matriz k 3, resultando x un vector de igual dimensi on.

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 22

Matrices especiales
ones(m,n): Matriz de unos de m las y n columnas. zeros(m,n): Matriz de ceros de m las y n columnas. rand(m,n): Matriz m n de n umeros aleatorios distribuidos uniformemente en (0,1). randi([Imin,Imax],m,n): Matriz m n de n umeros aleatorios distribuidos uniformemente en los enteros entre Imin e Imax. randn(m,n): Matriz m n de n umeros aleatorios distribuidos seg un la normal de media 0 y desviaci on t pica 1. eye(n): Matriz identidad de orden n. size(A): Un vector [m,n] con las las y las columnas de A. length(v): Longitud de un vector. A : Matriz traspuesta (conjugada). A. : Matriz traspuesta (sin conjugar los elementos).
Departamento Matem atica Aplicada Introducci on a MATLAB P ag. 23

Operaciones y funciones matriciales

inv(A) calcula A1 . det(A) calcula el determinante. trace(A) calcula la traza de A. norm(A) calcula la norma de la matriz. poly(A) proporciona el polinomio caracter stico de una matriz. expm(A) calcula e A (funci on matricial). sqrtm(A) calcula A. logm(A) calcula la matriz logaritmo neperiano. [V,D]=eig(A) calcula los autovalores y autovectores de A.

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 24

Otras funciones matriciales


Sea p un vector y A una matriz. rot90(A) gira la matriz A. iplr(A) pasa la primera columna al nal. ipud(A) pasa la primera la a nal. reshape redimensiona matrices. vander(p) matriz de Vandermonde con pen ultima columna p. diag(p,k) da una matriz que tiene por diagonal k-esima el vector p. diag(A,K) da un vector, que es la diagonal k- esima de A. diag(diag(A)) produce una matriz con todos los elementos cero excepto los de la diagonal que son los de A. tril(A) pone a ceros los elementos por encima de la diagonal. triu(A) an alogo al anterior pero con ceros bajo la diagonal. lu(A) produce 3 matrices L, U, P tales que LU=PA.
Departamento Matem atica Aplicada Introducci on a MATLAB P ag. 25

Ejemplo
Ejemplo
Dado A=[1 2 3; 4 5 6] Qu e devuelve: >>ones(size(A))? Y qu e devuelve: >>length(A)? Qu e puede devolver: >>rand(2)? a) [0.2345 0.3611], 0.1578 0.7691 0.1578 1.7691 0.2327 b) , c) , d) 0.5454 0.8328 0.5454 1.8328 0.1322 Qu e orden hay que dar para que Matlab devuelva: ans=[1 0; 0 1; 0 0] ? 1+2i 1i Qu e devuelve 3+2i 26i A ? Qu e devuelve A. ? Qu e devuelve conj(A)? Que devuelve B=zeros(size(A))? Si tenemos la matriz A =

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 26

Ejemplo

Ejemplo Si M = 2 3 , e introducimos: 3 2 N = [ones (2) M ; zeros (2) eye (2)] Qu e matriz se obtiene?

Ejemplo Introducir: >> X = [1 Qu e resulta? 2 3 pi] , Y = zeros(size(X))

Ejemplo Introducir: >> x = 1 : 0.3 : 2,

y = 2 x + 1 Qu e resulta?

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 27

Selecci on de elementos y submatrices


A(x , y ) es la matriz formada por los elementos de A referenciados por las las indicadas por x , y por las columnas indicadas por y . Se nalar que x e y pueden ser escalares, pero tambi en vectores. A(:, y ) todas las las de A y las columnas indicadas por y . A(x , :) referencia a las las indicadas por x y todas las columnas de A.
1 0 8 2 2 5 7 9 3 0 4 12 3 . Cu anto valen: 1 1

2 Dada A = 1 2 A(2,4) A([1 3],:)

A([3:-1:1],[4,2]) A([3 1 2 1],[1 3])

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 28

Ejemplo
Dado el vector v=[7 6 5 4 3 2 1] C omo se obtiene la tercera componente? Qu e devuelve la instrucci on: >>x=v(1:3)? Qu e devuelve la instrucci on: >>x=v([3 5 1 7])? Qu e devuelve la instrucci on: >>x=v(3:-1:1);? Y la >>x=v(3:-1:1) ? Qu e devuelve >> v(2:5)? Dada la matriz A=[1 2 3; 4 5 6; 7 8 9], calcula lo que devuelven las siguientes instrucciones: >>A(3,3)=0 >>E=A(1:2,2:3) >>B=A(3:-1:1,1:3)

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 29

Ejemplos

Sea A=[4:-2:0;2:3:8;3:5:14] escribir la matriz que devuelve: >> A(2,1)=5*A(3,2)-A(1,1) >> A(2,:)=A(2,:)-2/4*A(1,:) >> D=A(1:2,2:3) >> E=A(1:2,:) >> F=A(:) >> G=A(1:2) >> H=A(:,3) >> K=A([1 3],:) >> L=A([1 3],[2 3])

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 30

Operaciones elemento a elemento


X .Operador Y (X e Y matrices)

Realizar a la operaci on indicada de los elementos que se encuentren en la misma posici on. Ejemplo >> A = X . Y , calcula Aij = Xij Yij . Ejemplo Si M = 2 3 2 2 M N = yN= 5 3 4 2 1 0 1 1 , entonces: 2 0 2 2

M. N =

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 31

Operadores punto

X .Operador Y

(Producto, Divisi on, Potencia)

Las funciones de Matlab operan elemento a elemento: exp(A) calcula una matriz con los elementos e Aij sqrt(A) calcula una matriz con los elementos abs(A), sin(A), cos(A). . . Aij log(A) calcula el logaritmo neperiano elemento a elemento.

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 32

Polinomios
Para representar un polinomio en Matlab usaremos vectores. El polinomio P (x ) = an x n + an1 x n1 + . . . + a1 x1 + a0 se representa en Matlab como p = [an , an1 , . . . a1 , a0 ] Por ejemplo: si queremos representar en Matlab el polinomio: P (x ) = 3x 2 + 4x + 5 lo almacenar amos de la siguiente forma: >> p = [3, 4, 5]. Y para q = x 4 5x 3 lo haremos mediante >> q = [1, 5, 0, 0, 0].

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 33

Operaciones con polinomios


Las operaciones t picas para manipular polinomios son: P (x ) + Q (x ), P (x ) Q (x ): Se ponen como >> p + q, >> p q, pero hay que tener mucho cuidado en usar vectores de igual longitud. P (x ) Q (x ): Se calcula mediante >> conv(p, q)
P (x ) Q (x ) :

Con >> [c, r] = deconv(p, q)

P (x ): En Matlab como >> polyder(p) P (x )dx : En Matlab como >> polyint(p) Evaluar P (x ): En Matlab como >> polyval(p, x) Las ra ces de P (x ) = 0: En Matlab como >> roots(p) Polinomio con ra ces dadas: >> poly(x)

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 34

Ejercicios
Poner las instrucciones Matlab para: Expresar los polinomios: P (X ) = x 4 + x 2 1 y Q (x ) = (1 x 2 )2 . Hallar los puntos en que P (x ) = 2. Evaluar P (3), P (x ) siendo x=1,1.1, 1.2,. . . ,3. Hallar los puntos en que se cortan, es decir, resolver D (x ) = P (x ) Q (x ) = 0. Hallar su producto C (x ) = P (x ) Q (x ). Hallar el cociente y resto de P entre Q. Resolver la ecuaci on algebraica: P (x ) Q (x ) + x 2 2 = 0. Calcular P (5), P (5) y P (5). C omo obtenemos IP = Calcular I =
4 2 P (x )dx
Introducci on a MATLAB P ag. 35

P (x )dx y que forma tomar a.

Departamento Matem atica Aplicada

Ejercicio resuelto

Ejemplo Dado el polinomio: p (x ) = x 4 3x 3 + 2x 5 Hallar sus ra ces. >> p = [1, 3, 0, 2, 5], r = roots(p) Representarlo gr acamente en [-5,5]. xx = 5 : 0.01 : 5; y = polyval(p, xx); plot(xx, y), grid Hallar el area delimitada entre el eje OX y las 2 ra ces reales que posee. Ip = polyint(p), Area = polyval(Ip, r(1)) polyval(Ip, r(2)). NOTA: A estas alturas sabemos que r1 2.96 y r2 1.2 son las ra ces reales de p(x).

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 36

Funciones

Como en todos los lenguajes las funciones pueden ser de librer a o denidas por el usuario.
Las funciones de librer a se cargan al iniciar Matlab y son las b asicas del lenguaje y externas estando incluidas en las TOOLBOXES instaladas. Cualquier usuario puede a nadir sus propias funciones f acilmente. Tanto los par ametros de llamada, como los resultados de la funci on son matrices. Una misma funci on puede devolver uno o varios argumentos, seg un se realice la llamada y recibir diferente n umero de par ametros de entrada. d=eig(A) devolver a en d los autovalores de A. [v,d]=eig(A) devuelve los autovectores en v y los autovalores en d. help eig indica todas las posibles formas de llamar a la funci on eig.

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 37

Denici on de funciones
La forma es: function [y1 , . . . , ym ] = nombre funcion(x1 , . . . , xn ) sentencias Ejemplo Denir la funci on en Matlab que calcule la siguiente funci on: 7x 2 sen(x ) . alfa(x ) = 2x + 3 function y=alfa(x) y=(7*x.2-sin(x))./(2*x+3); Luego mediante >> y = alfa(7), y2 = alfa([123]), x = 1 : 10; y3 = alfa(x) podremos obtener su valor

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 38

Caracter sticas

Las variables que se declaren dentro de la funci on son locales. La u nica conexi on entre el espacio de trabajo y el cuerpo de la funci on se hace a trav es de lista entrada y lista salida. La instrucci on return provoca la terminaci on inmediata de la ejecuci on del chero. % se emplea para introducir comentarios. Los comentarios que se escriban hasta la primera l nea de c odigo, se devuelven cuando se solicita ayuda mediante help nombre funci on. nargin y nargout: n umero de par ametros de entrada y de salida (respectivamente).

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 39

funciones INLINE

Conviene ver: help inline. INLINE(EXPR) construye un objeto funci on inline de la expresi on Matlab contenida en EXPR. Ejemplos: g = inline(t2) g = inline(sin(2*pi*f + theta), f, theta) Ejemplo Introduce en Matlab la funci on y = e x /4 sen(x ) utilizando la orden inline y la funci on fplot para dibujarla en [0, 10] >> F = inline( exp(x./4). sin(x) ) >> fplot(F, [0, 10]); grid on

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 40

Scripts

Contienen instrucciones Matlab y para ejecutarlos basta con poner su nombre. Se crean y modican con el editor de textos. Se usan para introducir datos iniciales (matrices grandes) y organizar los c alculos (programas). Ejemplo Se crea un chero de texto de nombre ej1.m con las ordenes: x=1:10; y=x.2-2; plot(x,y) grid on Lo llamaremos mediante >> ej1 y dibujar a la gr aca.

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 41

Instrucciones de Entrada/Salida

echo visualiza el comando en ejecuci on. disp visualiza texto o n umeros en la pantalla. input permite visualizar un texto y obtener datos desde teclado. keyboard permite leer y modicar variables desde teclado. pause detiene la ejecuci on un tiempo determinado o hasta pulsar una tecla. return provoca la terminaci on de la ejecuci on del chero y devoluci on del control a la instrucci on llamante. menu permite generar un men u de opciones.

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 42

Funciones de orden superior y manejo de excepciones


Para pasar funciones como argumento a otras funciones. feval eval ua la funci on cuyo nombre se ha pasado como primer par ametro con los argumentos que se han pasado como par ametros adicionales. eval permite interpretar cadenas de texto que contienen expresiones Matlab v alidas. error sirve para dar un mensaje de error desde un chero, y muestra su argumento en pantalla.
Ejemplo >>x=[4 8 16]; >>fun1=sqrt; >>feval(fun1,x) >>ans= 2.0000 2.8284 4.0000

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 43

Funciones matem aticas


Las funciones matem aticas en Matlab, est an dirigidas a vectores, as : >> x = [0 pi/2 pi], sin(x), produce la salida: >> ans = 0 1 0
Una lista de funciones elementales puede verse mediante help elfun Funciones trigonom etricas elementales incluidas son: sin, cos, tan, asin, acos, atan, asinh, acosh, atanh, . . . Otras funciones elementales son: abs, angle, sqrt, exp, log, log2, log10, round, x, ceil, oor, rem, sign . . . . Funciones con salida un vector: di, linspace, nd, sort . . . Funciones estad sticas: Entre ellas est an max, min, sum, prod, sort, cumsum, cumprod, mean, median, std, cumsum, cumprod, hist, corrcoef, cov, var, corr, skewness, kurtosis, rand, randn, randi, geomean, harmmean, mad, prctile, boxplot, . . . (Consultar help stats para una lista completa).
Departamento Matem atica Aplicada Introducci on a MATLAB P ag. 44

Predicados

any(x) devuelve cierto si alg un elemento del vector x no es cero. all(z) devuelve cierto solo si los elementos de x son distintos de 0. nd(x) devuelve las posiciones de los elementos distintos de cero del vector x. exist(var) devuelve cierto si la variable existe. isnan(A) devuelve cierto donde vale NaN y cero donde no. nite(A) devuelve cierto en los valores nitos y 0 donde no lo sea. isempty(A) devuelve cierto si es una matriz vac a.

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 45

Sentencias de control de ujo


Sentencia IF ... THEN ... ELSE: if condici on, sentencia-1 elseif condici on2 sentencia-2 else sentencia-3 end Cuidado: La condici on debe dar un valor, no un vector o matriz. Estar a mal: x=[2 3 4], y=[1 3 2], if x==y, z=1, else z=x-y, end que podr a hacerse mediante: if sum(abs(x-y))==0, z=1, else z=x-y, end

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 46

Case

Sentencias CASE, SWITCH switch Variable, case 1, Sentencias para Variable=1. case 2, Sentencias para Variable=2. ... case 8,10,12, Sentencias cuando Variable vale 8, 10 o 12. otherwise error(No esta contemplado el caso.) end Si la variable de conmutaci on vale 1, ejecuta la 1a , si vale 2 la 2a , etc.

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 47

Bucles

Sentencia FOR: for matriz sentencias end Sentencia WHILE: while condici on sentencias end La instrucci on break provoca la salida del bucle, o del u ltimo bucle si est an anidados.

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 48

Ejemplo

Ejemplo
1 2 3

for k=1:4, y(k)=x(k+2)-x(k),end k=1:4, for k, y(k)=x(k+2)-x(k),end k=1, while k<=4, y(k)=x(k+2)-x(k), k=k+1, end

Ejemplo Hallar el logaritmo en base 4 de los 1.000 primeros naturales. Se puede hacer con los dos m etodos siguientes:
1 2

for k=1:1000, y(k)=log(k)/log(4);end k=1:1000; y=log(k)/log(4); % Mucho m as eciente.

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 49

Comandos gr acos
plot(x,y) representa la tabla de puntos (xi , yi ). >> x = 1 : 0.5 : 10; y = sin(x); plot(x, y), grid representa la funci on y = sen(x ). fplot(funcion, [a, b]) dibuja una funci on. hold on/o Permite superponer dos o m as gr acas. grid on activa una cuadr cula en la gura. whitebg cambia el color de fondo. title, xlabel, ylabel, xcolor, ycolor,. . . consultar help comando. shg permite visualizar el u ltimo gr aco en la pantalla. clf, clg borran la pantalla de gr acos. subplot(m,n,p) permite crear varias gr acas en una misma gura. gure abre una nueva ventana de gr acos.
Departamento Matem atica Aplicada Introducci on a MATLAB P ag. 50

Ejemplo

Ejemplo Dibujar el seno y el coseno en la misma gura. >> fplot( sin(x) , [2 pi, 2 pi]) >> hold on, fplot( cos(x) , [2 pi, 2 pi]) La siguiente orden hace lo mismo >> fplot( [sin(x), cos(x)] , [2 pi, 2 pi])
Representar gr acamente en [0, 10] la funci on y = e x /4 sen(x ) introduciendo en Matlab la funci on. Expresar los valores en una tabla. function y=fun22(x) y=exp(-x./4).*sin(x); y luego ejecutar: >> x = 0 : 0.01 : 10; y = fun22(x); plot(x, y); grid >> [x , y ]

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 51

Ejercicios

Dada la matriz A=[1,2,3;4,5,6;7,8,9], calcula:


1

El valor de C al ejecutar: C = (A < 3). 1 0 0 Qu e hacemos para obtener: 0 5 0 0 0 9 1 2 3 Y si queremos obtener 0 5 6 0 0 9

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 52

Ejercicios-2

Usando las funciones de algebra omo podemos lineal, C 1 1 0 0 0 1 3 1 0 0 obtener la siguiente matriz? 0 1 5 1 0 0 0 1 7 1 0 0 0 1 9 Dado el vector v=[1 2 3], usando las funciones de algebra, 1 0 0 0 2 0 qu e instrucci on debemos ejecutar para obtener: 0 0 3 Interpolar 5 elementos en progresi on aritm etica entre 0 y 20.

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 53

Ejercicios-3

Preparar una rutina que dadas las marcas de clase xi y las frecuencias absolutas ni , calcule los momentos ordinarios y centrales hasta el cuarto orden, la media, varianza, sesgo y curtosis. Preparar una rutina, tal que, dados los extremos de clase Li (primera clase (, L1 ] y u ltima (Ln , )) calcule la moda, mediana y cuartiles. Preparar una rutina, tal que, dados los extremos de clase Li (primera clase (, L1 ] y u ltima (Ln , )) calcule la media, varianza, media arm onica y cuadr atica.

Departamento Matem atica Aplicada

Introducci on a MATLAB P ag. 54

Você também pode gostar