Matlab

Solo disponible en BuenasTareas
  • Páginas : 20 (4998 palabras )
  • Descarga(s) : 0
  • Publicado : 26 de febrero de 2012
Leer documento completo
Vista previa del texto
´ ´ PRACTICAS DE MATEMATICAS II ´ INGENIER´ INFORMATICA IA ´ CURSO ACADEMICO 2006-2007 Introducci´n a MATLAB. o

1

Trabajando con vectores en MATLAB

Esta es la introducci´n b´sica a MATLAB: la definici´n de vectores y una o a o serie de operaciones elementales. El comienzo es sencillo: para iniciar MATLAB, en Unix/Linux abrimos una terminal en nuestro sistema y tecleamos: matlab. EnWindows, cliqueamos en el icono correspondiente o seleccionamos en el Men´ de inicio. u En el texto que sigue a continuaci´n, cualquier l´ o ınea que comienza con dos signos >> se utiliza para denotar una l´ ınea de comando MATLAB. Casi todos los comandos b´sicos en MATLAB implican el uso de veca tores. Para simplificar la creaci´n de vectores, podemos definir un vector o especificando: una primeraentrada, un incremento y una ultima entrada. ´ Por ejemplo, para crear un vector cuyas entradas son 0, 2, 4, 6 y 8, podemos teclear: >> 0:2:8 ans = 0 2 4 6 8

MATLAB tambi´n guarda el ultimo resultado. En el ejemplo previo, se e ´ ha creado una variable “ans”. Para obtener el vector traspuesto, tecleamos: >> ans’ ans = 0 1

2 4 6 8 Para ser capaz de guardar los vectores creados, podemos darlesnombre. Por ejemplo, para crear el vector fila v, tecleamos: >> v = [0:2:8] v = 0 >> v v = 0 >> v; >> v’ ans = 0 2 4 6 8 Podemos darnos cuenta del ejemplo anterior que si finalizamos una l´ ınea con un punto y coma, no se muestra el resultado. MATLAB permite tambi´n e trabajar con elementos espec´ ıficos del vector. Si, por ejemplo, queremos quedarnos s´lo con las tres primeras entradas de un vector: o 24 6 8 2 4 6 8

>> v(1:3) 2

ans = 0 2 4

>> v(1:2:4) ans = 0 4

>> v(1:2:4)’ ans = 0 4 Una vez especificada la notaci´n podemos realizar diversas operaciones: o >> v(1:3)-v(2:4) ans = -2 -2 -2

2

Matrices en MATLAB

Damos a continuaci´n una introducci´n b´sica a la definici´n y manipulaci´n o o a o o de matrices. La definici´n de una matriz es an´loga a la definici´n de un o a ovector. Podemos considerarla como una columna de vectores fila (los espacios son necesarios!):

>> A = [ 1 2 3; 3 4 5; 6 7 8] A =

3

1 3 6

2 4 7

3 5 8

o como una fila de vectores columna:

>> B = [ [1 2 3]’ [2 4 7]’ [3 5 8]’] B = 1 2 3 2 4 7 3 5 8

(de nuevo, es importante incluir los espacios.) Si hemos estado haciendo estas pruebas con vectores, tendremos muy probablemente una grancantidad de variables definidas. Si queremos conocer esta informaci´n, el comando whos nos permitir´ cu´les son las variables que o a a tenemos en nuestro espacio de trabajo. >> whos Name A B ans v Size 3 3 1 1 by by by by 3 3 3 5 Elements 9 9 3 5 Bytes 72 72 24 40 Density Full Full Full Full Complex No No No No

La notaci´n utilizada en MATLAB es la notaci´n usual en ´lgebra lineal. o o a Demodo que, por ejemplo, la multiplicaci´n de matrices en MATLAB se o hace de forma sencilla. Debemos tener cuidado con las dimensiones de las matrices a la hora de multiplicarlas (deben tener el tama˜o adecuado!.) n

>> v = [0:2:8] 4

v = 0 2 4 6 8

>> A*v(1:3) ??? Error using ==> * Inner matrix dimensions must agree. >> A*v(1:3)’ ans = 16 28 46

Podemos trabajar con diferentes partes de unamatriz, al igual que vimos que se pod´ hacer con vectores. De nuevo, debemos tener cuidado de hacer ıa operaciones “legales”: >> A(1:2,3:4) ??? Index exceeds matrix dimensions. >> A(1:2,2:3) ans = 2 4 3 5

>> A(1:2,2:3)’ ans = 2 3 4 5 5

Una vez que somos capaces de crear y manipular una matriz, podemos realizar muchas operaciones habituales con ella. Podemos, por ejemplo, obtener la inversade una matriz. Sin embargo, debemos tener cuidado puesto que las operaciones que se realizan pueden presentar errores de redondeo. En el ejemplo, la matriz A no es una matriz invertible, pero MATLAB devuelve una matriz como resultado. >> inv(A) Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 4.565062e-18

ans = 1.0e+15 * -2.7022 5.4043 -2.7022 4.5036...
tracking img